我在一台新机器上安装了calabash,但是我在旧机器上运行的测试将不会运行。
据我所知,这两台机器的安装方式是相同的。他们从相同的存储库中提取该项目,其中包含一个Gemfile,其中包含一个带有Calabash-黄瓜版本0.18.0的Gemfile。我设置相同的BUNDLE_ID、DEVICE_ENDPOINT和DEVICE_TARGET值,并使用相同的物理设备。
当我试图在新机器上的控制台上运行测试时,我得到了以下结果:
$ bundle exec calabash-ios console
Running irb...
irb(main):001:0> start_test_server_in_background
ArgumentError: Could not find a device with a UDID or name matching 'com.my.apps.bundle.id'
from /Users/rjones/gambit/gemstubs/ruby/2.1.0/gems/run_loop-2.1.1/lib/run_loop/device.rb:126:in `device_with_identifier'
from /Users/rjones/gambit/gemstubs/ruby/2.1.0/gems/run_loop-2.1.1/lib/run_loop/device.rb:160:in `detect_device'
from /Users/rjones/gambit/gemstubs/ruby/2.1.0/gems/run_loop-2.1.1/lib/run_loop/core.rb:71:in `run_with_options'
from /Users/rjones/gambit/gemstubs/ruby/2.1.0/gems/run_loop-2.1.1/lib/run_loop.rb:134:in `run'
from /Users/rjones/gambit/gemstubs/ruby/2.1.0/gems/calabash-cucumber-0.18.0/lib/calabash-cucumber/launcher.rb:718:in `block in new_run_loop'
from /Users/rjones/gambit/gemstubs/ruby/2.1.0/gems/calabash-cucumber-0.18.0/lib/calabash-cucumber/launcher.rb:716:in `times'
from /Users/rjones/gambit/gemstubs/ruby/2.1.0/gems/calabash-cucumber-0.18.0/lib/calabash-cucumber/launcher.rb:716:in `new_run_loop'
from /Users/rjones/gambit/gemstubs/ruby/2.1.0/gems/calabash-cucumber-0.18.0/lib/calabash-cucumber/launcher.rb:584:in `relaunch'
from /Users/rjones/gambit/gemstubs/ruby/2.1.0/gems/calabash-cucumber-0.18.0/lib/calabash-cucumber/core.rb:943:in `start_test_server_in_background'
from (irb):1
from /Users/rjones/.rbenv/versions/2.1.5/bin/irb:11:in `<main>'知道为什么这不管用吗?
发布于 2016-04-21 09:34:25
请更新到0.19.0。
还可以粘贴用于启动
irb(main):001:0> start_test_server_in_background
ArgumentError: Could not find a device with a UDID or name matching
'com.my.apps.bundle.id'看起来您将您的DEVICE_TARGET设置为包id?如果没有,那么你就发现了一个bug。有可能0.18.0与运行循环2.1.1不兼容。如果要验证这是问题所在,则降级为run_loop 2.0.9。
发布于 2016-06-08 08:40:14
在从1.3.19版本升级到2.3.3版本时,我也遇到了同样的问题。我还在物理设备上运行测试。
编辑:对不起,忘了提一下,我也把run_loop从2.0.6版升级到了2.1.3版
所以这些版本:
run_loop (2.1.3) calabash-cucumber (0.18.1) --我想这两个因素可能会影响到这个部分,而cucumber并没有参与其中
通过设置变量DEVICE而不是DEVICE_TARGET,我找到了一个解决方案
例如:
BUNDLE_ID=<bundle_id> DEVICE=<dev_udid> DEVICE_ENDPOINT=<dev_ip> cucumber
而不是
BUNDLE_ID=<bundle_id> DEVICE_TARGET=<dev_udid> DEVICE_ENDPOINT=<dev_ip> cucumber
https://stackoverflow.com/questions/36753745
复制相似问题