按照排毒在adding Android上提供的设置,下面构建排毒的命令可以正常工作
detox build -c android.emu.debug
现在在Package.json文件上进行设置,我确定目录正确提供了
"android.emu.debug": {
"binaryPath": "../OUR-APP-NAME/app/build/outputs/apk/androidTest/dev/debug/app-dev-debug-androidTest.apk",
"build": "cd ../OUR-APP-NAME/ && ./gradlew assembleDebug assembleAndroidTest -DtestBuildType=debug && cd ../OUR-APP-NAME-TESTS",
"type": "android.emulator",
"name": "Pixel_2_XL_API_26"
},
由于某种原因无法运行排毒测试
detox test -c android.emu.debug
它抛出错误消息
Error: '/Users/z/Projects/company-projects/OUR-APP-NAME/app/build/outputs/apk/androidTest/androidTest/devDebug/androidTest/app-dev-debug-androidTest-androidTest.apk' could not be found, did you run './gradlew assembleAndroidTest' ?
......
detox[29702] ERROR: [cli.js] Error: Command failed: node_modules/.bin/mocha --opts e2e/mocha.opts --configuration android.emu.debug --loglevel verbose --grep :ios: --invert --artifacts-location "artifacts/android.emu.debug.2019-11-20 09-54-23Z" "e2e"
我注意到在第一个错误消息上,由Detox提供的目录是一个错误,因此我尝试了以下操作
binaryPath
文件Package.json
上的目录更改为另一个目录assembleAndroidTest
和assembleDebug
gradle步骤但无济于事,我一直无法运作,我现在迷路了。
注意: -我正在为本机Android应用程序运行Detox -我们的排毒设置适用于我们的本机iOS应用程序 -我们正在使用排毒14.4.1
答案 0 :(得分:2)
排毒“自定义” binaryPath
中的APK名称,因此,如果您指定排毒二进制文件的确切路径,它将无法正常工作。
(文件名的这种突变发生在Detox的内部getTestApkPath函数中,对我来说似乎很不直观)。
要指定APK排毒应使用的确切路径,可以使用testBinaryPath
覆盖binaryPath
中的设置。
编辑:为明确起见,排毒需要访问两个 APK文件,应用APK和测试APK。 binaryPath应该指向应用程序APK(您在模拟器上运行的普通APK),如果Detox找不到基于binaryPath的测试APK,则testBinaryPath应该指向您的测试APK。
答案 1 :(得分:0)
我也遇到了这个问题,要解决此问题,请从路径androidTest
和文件名binaryPath
中删除android/app/build/outputs/apk/debug/app-debug.apk
,结果类似{{1}}。排毒会把这些东西加进去。