无法使用 Calabash 运行 自动化脚本 Xcode 7
Unable to run automation script using Calabash Xcode 7
我正在尝试 运行 样本 'my_first.feature' 但我遇到了问题。我正在关注这个 tutorial: codingtricky - calabash-ing-ios-applications。
我也尝试了不同的教程,但无法弄清楚为什么会出现此错误。我是 iOS-应用程序自动化的新手。
我也在其他项目上尝试过这个示例项目,它工作正常但在我的实时项目中不起作用。对我来说,应用程序启动并消失。
$ APP_BUNDLE_PATH=<snip>/Build/Products/Debug-iphonesimulator/My-cal.app \
DEVICE_TARGET='iPhone 5s - Simulator - iOS 9.0' \
cucumber
Unable to start. Make sure you've set APP_BUNDLE_PATH to a build supported by this simulator version
Calabash::Cucumber::Launcher::StartError:
"Timed out waiting for UIAutomation run-loop Error while writing to fifo. RunLoop::Fifo::NoReaderConfiguredError.
Logfile: /var/folders/l1/2s2v4t051fxggjhtc4v66jwr0000gn/T/run_loop20150921-15728-1m5g7xc/run_loop.out
2015-09-21 14:40:58.923 instruments[16900:141832] Attempting to change eventInstruments Trace Complete (Duration : 1.140556s; Output : /var/folders/l1/2s2v4t051fxggjhtc4v66jwr0000gn/T/run_loop20150921-15728-1m5g7xc/trace.trace)
(Calabash::Cucumber::Launcher::StartError)
/Users/People/.rvm/gems/ruby-2.2.1/gems/calabash-cucumber-0.16.3/lib/calabash-cucumber/launcher.rb:778:in `new_run_loop'
/Users/People/.rvm/gems/ruby-2.2.1/gems/calabash-cucumber-0.16.3/lib/calabash-cucumber/launcher.rb:635:in `relaunch'
/Users/People/Desktop/SVNProject/Emirates_UniversalApp/MyTrips_Redesign/iPHONE/EKiPhone/features/support/01_launch.rb:27:in `Before'
我也试过设置DEVICE_UDID
已更新
根据评论,问题是 calabash setup
对于带有手表扩展的应用程序已损坏;手表扩展程序 link 使用 calabash 而不是应用程序编辑。
在此处跟踪此问题:Calabash builds/runs Apple Watch app instead of iPhone app #832
calabash setup
本身由于各种原因自 Xcode 6 以来已被破坏。
您必须 link calabash.framework 到您的应用目标。有几种方法可以做到这一点:
- Setup: Manually Create a -cal Target
- Alternative Setups
- The Calabash iOS Smoke Test app has examples
I also tried setting DEVICE_UDID
DEVICE_UDID 不是 Calabash 响应的变量。 ENVIRONMENT_VARIABLES
DEVICE_TARGET='iPhone 5s - Simulator - iOS 9.0'
这不是 Xcode 的有效模拟器名称 7. 您可以使用以下方法找到有效的模拟器名称:
$ xcrun instruments -s devices
<snip>
iPhone 6 (9.0) [3247EF9D-069D-4233-966F-2B1D4A9042D0]
鉴于该输出,有 2 个有效的模拟器 DEVICE_TARGET 值用于 iPhone 6 iOS 9 模拟器:
"iPhone 6 (9.0)"
3247EF9D-069D-4233-966F-2B1D4A9042D0
Timed out waiting for UIAutomation run-loop Error while writing to fifo. RunLoop::Fifo::NoReaderConfiguredError.
我最好的猜测是您需要重新启动计算机;我相信您的 CoreSimulator 环境可能状况不佳。如果您最近:
- 已安装 Xcode、
- 安装了 Xcode、
的新版本
- 更改了 Xcode 在您硬盘上的位置(包括重命名 Xcode.app),
- 安装了 iOS 模拟器
您需要重新启动计算机。
calabash-cucumber-0.16.3
你能更新到 0.16.4 和 运行-loop 1.5.5 吗?
如果您仍然无法 运行,请 运行 使用 DEBUG=1 并用结果更新您的答案。
我正在尝试 运行 样本 'my_first.feature' 但我遇到了问题。我正在关注这个 tutorial: codingtricky - calabash-ing-ios-applications。
我也尝试了不同的教程,但无法弄清楚为什么会出现此错误。我是 iOS-应用程序自动化的新手。
我也在其他项目上尝试过这个示例项目,它工作正常但在我的实时项目中不起作用。对我来说,应用程序启动并消失。
$ APP_BUNDLE_PATH=<snip>/Build/Products/Debug-iphonesimulator/My-cal.app \
DEVICE_TARGET='iPhone 5s - Simulator - iOS 9.0' \
cucumber
Unable to start. Make sure you've set APP_BUNDLE_PATH to a build supported by this simulator version
Calabash::Cucumber::Launcher::StartError:
"Timed out waiting for UIAutomation run-loop Error while writing to fifo. RunLoop::Fifo::NoReaderConfiguredError.
Logfile: /var/folders/l1/2s2v4t051fxggjhtc4v66jwr0000gn/T/run_loop20150921-15728-1m5g7xc/run_loop.out
2015-09-21 14:40:58.923 instruments[16900:141832] Attempting to change eventInstruments Trace Complete (Duration : 1.140556s; Output : /var/folders/l1/2s2v4t051fxggjhtc4v66jwr0000gn/T/run_loop20150921-15728-1m5g7xc/trace.trace)
(Calabash::Cucumber::Launcher::StartError)
/Users/People/.rvm/gems/ruby-2.2.1/gems/calabash-cucumber-0.16.3/lib/calabash-cucumber/launcher.rb:778:in `new_run_loop'
/Users/People/.rvm/gems/ruby-2.2.1/gems/calabash-cucumber-0.16.3/lib/calabash-cucumber/launcher.rb:635:in `relaunch'
/Users/People/Desktop/SVNProject/Emirates_UniversalApp/MyTrips_Redesign/iPHONE/EKiPhone/features/support/01_launch.rb:27:in `Before'
我也试过设置DEVICE_UDID
已更新
根据评论,问题是 calabash setup
对于带有手表扩展的应用程序已损坏;手表扩展程序 link 使用 calabash 而不是应用程序编辑。
在此处跟踪此问题:Calabash builds/runs Apple Watch app instead of iPhone app #832
calabash setup
本身由于各种原因自 Xcode 6 以来已被破坏。
您必须 link calabash.framework 到您的应用目标。有几种方法可以做到这一点:
- Setup: Manually Create a -cal Target
- Alternative Setups
- The Calabash iOS Smoke Test app has examples
I also tried setting DEVICE_UDID
DEVICE_UDID 不是 Calabash 响应的变量。 ENVIRONMENT_VARIABLES
DEVICE_TARGET='iPhone 5s - Simulator - iOS 9.0'
这不是 Xcode 的有效模拟器名称 7. 您可以使用以下方法找到有效的模拟器名称:
$ xcrun instruments -s devices
<snip>
iPhone 6 (9.0) [3247EF9D-069D-4233-966F-2B1D4A9042D0]
鉴于该输出,有 2 个有效的模拟器 DEVICE_TARGET 值用于 iPhone 6 iOS 9 模拟器:
"iPhone 6 (9.0)"
3247EF9D-069D-4233-966F-2B1D4A9042D0
Timed out waiting for UIAutomation run-loop Error while writing to fifo. RunLoop::Fifo::NoReaderConfiguredError.
我最好的猜测是您需要重新启动计算机;我相信您的 CoreSimulator 环境可能状况不佳。如果您最近:
- 已安装 Xcode、
- 安装了 Xcode、 的新版本
- 更改了 Xcode 在您硬盘上的位置(包括重命名 Xcode.app),
- 安装了 iOS 模拟器
您需要重新启动计算机。
calabash-cucumber-0.16.3
你能更新到 0.16.4 和 运行-loop 1.5.5 吗?
如果您仍然无法 运行,请 运行 使用 DEBUG=1 并用结果更新您的答案。