Armandos-MacBook-Air:黄瓜armando.rodriguez $ calabash-android run m ...... apk 找不到这个app和calabash版本组合的测试服务器。重新创建测试服务器。 完成对测试服务器的签名。将其移至test_servers / 430f6c154d763823fecdda70ac84695a_0.4.18.apk 功能:登录应用
Scenario: Successful login # features/login.feature:3
as first time after
restart the simulator
4629 KB/s (555713 bytes in 0.117s)
4840 KB/s (665402 bytes in 0.134s)
android.util.AndroidException: INSTRUMENTATION_FAILED: com......test/sh.calaba.instrumentationbackend.CalabashInstrumentationTestRunner
at com.android.commands.am.Am.runInstrument(Am.java:586)
at com.android.commands.am.Am.run(Am.java:117)
at com.android.commands.am.Am.main(Am.java:80)
at com.android.internal.os.RuntimeInit.finishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:238)
at dalvik.system.NativeStart.main(Native Method)
App did not start (RuntimeError)
有什么想法吗?
答案 0 :(得分:2)
这对我来说相当混乱,但最终只是因为我没有足够的信息来知道仪器失败的原因。
通过一些测试,我发现问题是安装了仪器APK,通过
验证adb shell pm list instrumentation | grep <my.package.name>
但是没有安装仪器应该测试的软件包,通过
进行验证adb shell pm list packages | grep <my.package.name>
问题是我正在尝试安装调试版本,而生产版本已经存在(在我的情况下,使用不同的软件包名称)在我有一个冲突的ContentProvider的设备上。这可能更像是一个边缘情况,但我想在其他情况下,calabash正试图在已经拥有相同包名的APK的设备上安装不同签名的APK。