我是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"'
跳过所有其他步骤
然后我运行控制台代码
DEVICE_ENDPOINT=http://192.168.1.9:37265 NO_LAUNCH=1 BUNDLE_ID=com.example.appname DEVICE_TARGET=UDID calabash-ios console
然后我运行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文件。 :( 感谢
答案 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。显影剂。
更新为了回答这个问题,我重写了Testing on Physical Devices Calabash iOS维基页面。哇,那个内容很古老!
答案 1 :(得分:-1)
只要文件是使用calabash构建的,那么这不是问题。你只需用APP_BUNDLE_PATH调用黄瓜到你的.ipa文件所在的位置,并且应该全部设置。
但是你应该知道.ipa需要构建以匹配你运行测试的目标。