无法使用Calabash Xcode 7

时间:2015-09-21 11:31:41

标签: xcode automated-tests calabash-ios

我正在尝试运行示例'my_first.feature',但我遇到了问题。我正在关注这个tutorial: codingtricky - calabash-ing-ios-applications

我也尝试了不同的教程,但无法弄清楚为什么我会收到此错误。我是iOS应用程序自动化的新手。

我还在其他项目中尝试了这个示例项目,工作正常,但它在我的实时项目中不起作用。对我来说,应用程序启动并消失。

$ APP_BUNDLE_PATH=<snip>/Build/Products/De‌​bug-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

1 个答案:

答案 0 :(得分:1)

更新

根据评论,问题是calabash setup对于带有监视扩展程序的应用程序已被破坏;手表扩展程序与calabash而不是应用程序链接。

在此处跟踪此问题:Calabash builds/runs Apple Watch app instead of iPhone app #832

由于各种原因,

calabash setup自Xcode 6以来一直被打破。

您必须将calabash.framework链接到您的应用目标。有几种方法可以做到这一点:

  

我也尝试过设置DEVICE_UDID

DEVICE_UDID不是Calabash响应的变量。 ENVIRONMENT_VARIABLES

  

DEVICE_TARGET ='iPhone 5s - 模拟器 - iOS 9.0'

这不是Xcode 7的有效模拟器名称。您可以使用以下命令找到有效的模拟器名称:

$ xcrun instruments -s devices
<snip>
iPhone 6 (9.0) [3247EF9D-069D-4233-966F-2B1D4A9042D0]

鉴于输出,iPhone 6 iOS 9模拟器有2个有效的模拟器DEVICE_TARGET值:

  1. "iPhone 6 (9.0)"
  2. 3247EF9D-069D-4233-966F-2B1D4A9042D0
  3.   

    写入fifo时等待UIAutomation运行循环错误超时。 RunLoop ::先进先出:: NoReaderConfiguredError。

    我最好的猜测是你需要重新启动计算机;我相信您的CoreSimulator环境可能状况不佳。如果您最近:

    • 安装了Xcode,
    • 安装了新版本的Xcode,
    • 更改了硬盘上Xcode的位置(包括重命名Xcode.app),
    • 安装了iOS模拟器

    您需要重新启动计算机。

      

    蠡黄瓜-0.16.3

    你能更新到0.16.4并运行循环1.5.5吗?

    如果仍然无法运行,请使用DEBUG = 1运行并使用结​​果更新您的答案。