Calabash-ios:在没有xcodeproj的情况下运行安装ipa的测试物理设备

时间:2015-09-30 06:27:04

标签: ios json xcode calabash

我是calabash-ios的新手并且有一个虚拟问题:

我怎么可能用安装了ipa文件(包括calabash框架)和没有xcodeproj的真实设备运行calabash测试?

问题是我在做QA而Dev只给我ipa文件进行测试而没有源代码。

更新 我可以通过添加BUNDLE_ID在控制台和黄瓜中运行ipa文件。并确保CFNetwork.framework包含在应用程序框架中以建立连接。

但是我遇到了另一个问题: 1.当我运行以下命令时:

DEVICE_ENDPOINT=http://192.168.1.9:37265 NO_LAUNCH=1 BUNDLE_ID=com.example.appname DEVICE_TARGET=UDID cucumber

然后我收到了这个错误:

 A JSON text must at least contain two octets! (JSON::ParserError)
  features/my_first.feature:8:in `Then I touch "LOG-IN/ CREATE ACCOUNT"'

跳过所有其他步骤

  1. 然后我运行控制台代码

    DEVICE_ENDPOINT=http://192.168.1.9:37265 NO_LAUNCH=1 BUNDLE_ID=com.example.appname DEVICE_TARGET=UDID calabash-ios console
    
  2. 然后我运行server_version 我得到回复说连接成功了 但是当我运行start_test_server_in_background时 我花了太长时间等待,我看到应用程序我的物理设备一直在崩溃并一次又一次地启动,直到它停止:

    Unable to start. Make sure you've set APP_BUNDLE_PATH to a build supported by this simulator version
    Calabash::Cucumber::Launcher::StartError: Calabash::Cucumber::Launcher::StartError: 
    
    "Timed out waiting for UIAutomation run-loop Error while writing to fifo. RunLoop::Fifo::NoReaderConfiguredError.
     2015-10-01 10:49:41.634 instruments[15640:10558880] WebKit Threading Violation - initial use of WebKit from a secondary thread.
     2015-10-01 10:49:42.574 instruments[15640:10558978] Attempting to change event horizon while disengage
     2015-10-01 10:49:42.577 instruments[15640:10558877] Attempting to change event horizon while disengage
     Instruments Trace Error : Target failed to run: Permission to debug app
    

    任何人都可以帮忙!我试图搜索一些解决方案,但它们几乎在模拟器上发布,它们包含xcodeproj。作为一个QA,我没有源代码,只有.ipa文件。 :( 感谢

2 个答案:

答案 0 :(得分:2)

你应该设置3个变量:

$ DEVICE_TARGET=<UDID> \
    DEVICE_ENDPOINT=http://<ip>:37265 \
    BUNDLE_ID=com.example.YourApp cucumber

设备和主机应位于同一网络上。

.ipa必须安装在您的设备上。

您可以通过在“设备管理器”窗口中拖放或使用第三方工具(如ideviceinstaller(可与自制软件一起提供))在Xcode中执行此操作。

永远不会设置NO_LAUNCH

http://calabashapi.xamarin.com/ios/file.ENVIRONMENT_VARIABLES.html#label-NO_LAUNCH

您还需要启用设备进行开发并在Settings.app&gt;中启用UIAutomation。显影剂。

  1. Enabling device for development
  2. RunLoop::Fifo::NoReaderConfiguredError
  3. 更新为了回答这个问题,我重写了Testing on Physical Devices Calabash iOS维基页面。哇,那个内容很古老!

答案 1 :(得分:-1)

只要文件是使用calabash构建的,那么这不是问题。你只需用APP_BUNDLE_PATH调用黄瓜到你的.ipa文件所在的位置,并且应该全部设置。

但是你应该知道.ipa需要构建以匹配你运行测试的目标。