我们正在使用 Visual Studio 和 Xamarin 为 iOS 构建一个应用程序。在解决方案组件中,Visual Studio 显示可用的 Calabash-ios 版本 0.9.169、0.10.0 和 0.10.1。项目中仅添加了 0.10.1 版本。当我在 iPad 上运行 calabash 测试时,我看到警告文本:
警告:服务器版本与 gem 版本不兼容。请更新您的服务器。 https://github.com/calabash/calabash-ios/wiki/B1-Updating-your-Calabash-iOS-version gem 版本:'0.10.1' 最低服务器版本:'0.10.1' 服务器版本:'0.9。 169'
给定地址处的信息似乎是 Xcode 特定的。解决方案中没有任何名为 calabash.framework 的内容。
是否有与此步骤等效的内容:'1。对您的 Xcode 项目进行深度清理或类似的东西,我们需要运行以防止应用程序使用旧的服务器版本构建?
更新:将设备更新到 iOS8 并将项目更新到 iOS8 后,这是我尝试使用葫芦时得到的:
irb(main):001:0> start_test_server_in_background
2014-09-25 11:31:09.767 instruments[447:1007] Failed to start Instruments daemon for 'iOS' on 'iPad (v8.0)' (The service is invalid.)
2014-09-25 11:31:09.931 instruments[447:2007] Failed to start Instruments daemon for 'iOS' on 'iPad (v8.0)' (The service is invalid.)
Errno::EINTR: Interrupted system call - /var/folders/f3/0b6tvs5x0p3dx4j91gp3x33nrc1cvb/T/run_loop20140925-436-1vamn4b/repl-cmd.pipe
from /Library/Ruby/Gems/2.0.0/gems/run_loop-1.0.3/lib/run_loop/core.rb:206:in `initialize'
from /Library/Ruby/Gems/2.0.0/gems/run_loop-1.0.3/lib/run_loop/core.rb:206:in `open'
from /Library/Ruby/Gems/2.0.0/gems/run_loop-1.0.3/lib/run_loop/core.rb:206:in `run_with_options'
from /Library/Ruby/Gems/2.0.0/gems/run_loop-1.0.3/lib/run_loop/core.rb:665:in `run'
from /Library/Ruby/Gems/2.0.0/gems/calabash-cucumber-0.10.1/lib/calabash-cucumber/launcher.rb:687:in `block in new_run_loop'
from /Library/Ruby/Gems/2.0.0/gems/calabash-cucumber-0.10.1/lib/calabash-cucumber/launcher.rb:685:in `times'
from /Library/Ruby/Gems/2.0.0/gems/calabash-cucumber-0.10.1/lib/calabash-cucumber/launcher.rb:685:in `new_run_loop'
from /Library/Ruby/Gems/2.0.0/gems/calabash-cucumber-0.10.1/lib/calabash-cucumber/launcher.rb:570:in `relaunch'
from /Library/Ruby/Gems/2.0.0/gems/calabash-cucumber-0.10.1/lib/calabash-cucumber/core.rb:805:in `start_test_server_in_background'
from (irb):1
from /usr/bin/irb:12:in `<main>'
irb(主):002:0>
更新:我已经验证 Calabash-ios 的服务器版本和客户端版本都是 10.1,我仍然得到这些错误:
### Starting on 36071058c0deb1fb11cffe178aa2ef268f5b8e30 App: <appname> ###
2014-09-30 08:39:14 +1300 xcrun instruments -w "36071058c0deb1fb11cffe178aa2ef268f5b8e30" -D "/var/folders/f3/0b6tvs5x0p3dx4j91gp3x33nrc1cvb/T/run_loop20140930-448-ofaiqy/trace" -t "Automation" "<appname>" -e UIARESULTSPATH /var/folders/f3/0b6tvs5x0p3dx4j91gp3x33nrc1cvb/T/run_loop20140930-448-ofaiqy -e UIASCRIPT /var/folders/f3/0b6tvs5x0p3dx4j91gp3x33nrc1cvb/T/run_loop20140930-448-ofaiqy/_run_loop.js &> /var/folders/f3/0b6tvs5x0p3dx4j91gp3x33nrc1cvb/T/run_loop20140930-448-ofaiqy/run_loop.out
Interrupted system call - /var/folders/f3/0b6tvs5x0p3dx4j91gp3x33nrc1cvb/T/run_loop20140930-448-ofaiqy/repl-cmd.pipe (Errno::EINTR)
/Library/Ruby/Gems/2.0.0/gems/run_loop-1.0.3/lib/run_loop/core.rb:206:in `initialize'
/Library/Ruby/Gems/2.0.0/gems/run_loop-1.0.3/lib/run_loop/core.rb:206:in `open'
/Library/Ruby/Gems/2.0.0/gems/run_loop-1.0.3/lib/run_loop/core.rb:206:in `run_with_options'
/Library/Ruby/Gems/2.0.0/gems/run_loop-1.0.3/lib/run_loop/core.rb:665:in `run'
/Library/Ruby/Gems/2.0.0/gems/calabash-cucumber-0.10.1/lib/calabash-cucumber/launcher.rb:687:in `block in new_run_loop'
/Library/Ruby/Gems/2.0.0/gems/calabash-cucumber-0.10.1/lib/calabash-cucumber/launcher.rb:685:in `times'
/Library/Ruby/Gems/2.0.0/gems/calabash-cucumber-0.10.1/lib/calabash-cucumber/launcher.rb:685:in `new_run_loop'
/Library/Ruby/Gems/2.0.0/gems/calabash-cucumber-0.10.1/lib/calabash-cucumber/launcher.rb:570:in `relaunch'
/Volumes/Projects/Enlighten/LIC/LIC.Datamate/Calabash tests/features/support/01_launch.rb:41:in `Before'
在每种情况下,应用程序都会启动,然后立即关闭。
更多信息:我们尝试在两个不同的 Mac Mini 和两个不同的 iPad 以及模拟器上运行测试。他们都没有跑。我们还使用仍在服务器版本 1.9.169 上的不同应用程序运行了 calabash 控制台,一切都按预期进行。因此,问题似乎仅限于服务器版本 1.10.1。