我从运行“-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
最佳答案
所以那里几乎没有问题。
如何让 cucumber 在已经运行的“-cal”方案中执行测试? 回答:当您构建校准目标时,您定义要构建的目标,当您执行测试时,您定义要执行的目标。 构建:-sdk iphonesimulator9.0 执行:DEVICE_TARGET='iPhone 6 Plus (9.0)'
在我的应用程序的不同(可能是缓存版本)中执行测试之前,模拟器似乎停止并重新启动,并且目标设备已从 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/