ios - Calabash-cucumber 模拟器未运行与 "-cal"方案相同版本的应用程序

标签 ios cucumber calabash calabash-ios

我从运行“-cal”方案开始,就像 Calabash setup guide告诉我。然后我为 Calabash-iOS 运行 cucumber。在我的应用程序的不同(可能是缓存版本)中执行测试之前,模拟器似乎停止并重新启动,并且目标设备已从 iPhone 6 更改为在 iPhone 5s 中运行测试。

如何让 cucumber 在已经运行的“-cal”方案中执行测试?或者(更好)我怎样才能使用“-cal”方案让它重新启动?我可以看到重新启动很有值(value)的案例。

以下是场景运行前执行的唯一代码。我知道它说 .relaunch 在那里,但如果我把它拿出来,那么第一步测试就会失败。

Before do |scenario|
  @calabash_launcher = Calabash::Cucumber::Launcher.new
  unless @calabash_launcher.calabash_no_launch?
    @calabash_launcher.relaunch
    @calabash_launcher.calabash_notify(self)
  end
end

最佳答案

所以那里几乎没有问题。

  1. 如何让 cucumber 在已经运行的“-cal”方案中执行测试? 回答:当您构建校准目标时,您定义要构建的目标,当您执行测试时,您定义要执行的目标。 构建:-sdk iphonesimulator9.0 执行:DEVICE_TARGET='iPhone 6 Plus (9.0)'

  2. 在我的应用程序的不同(可能是缓存版本)中执行测试之前,模拟器似乎停止并重新启动,并且目标设备已从 iPhone 6 更改为在 iPhone 5s 中运行测试。 答案:也与问题 1 部分相关(定义目标以控制您测试的设置)。除此之外,该应用程序将在场景之间重新启动,否则每个场景都将取决于之前执行的其他内容。 您可以切换的一件事是应用程序是否应该在场景之间重新安装。如果您有一些仅在首次安装/启动时显示/执行的功能,这将很有帮助。要添加对重新安装的支持,您可以将类似的内容添加到“Before do |scenario|”中的 launch.rb 文件

    if scenario_tags.include?('@reinstall') @calabash_launcher.reset_app_sandbox end

关于ios - Calabash-cucumber 模拟器未运行与 "-cal"方案相同版本的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33043728/

相关文章:

ios - 如何在 mac OS 中使用 calabash-ios 测试 ipa 文件?

ios - Objective C 中的 RSA 实现

ios - UIDatePicker 最小和最大高度

ios - 并发操作、NSOperationQueue 和异步 API 所需的说明

ios - 如何在 iOS 中监听传入的短信事件

cucumber - Jruby 和 Cucumber/Cucumber Rails - 找不到生成器 Cucumber :install

cucumber - 并行运行时测试会中断

android - 设置和使用 Gherkin Android Studio

android - 如何定位特定的 Calabash 功能文件?

android - ADB:如何通过 ADB one liner 命令从最近的应用程序点击/关闭到完全