排毒建立成功,但排毒测试失败

时间:2019-11-20 10:15:30

标签: android detox

按照排毒在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提供的目录是一个错误,因此我尝试了以下操作

  • 创建了一个包含APK的目录
  • binaryPath文件Package.json上的目录更改为另一个目录
  • 直接在Android Studio中运行assembleAndroidTestassembleDebug gradle步骤

但无济于事,我一直无法运作,我现在迷路了。

注意: -我正在为本机Android应用程序运行Detox -我们的排毒设置适用于我们的本机iOS应用程序 -我们正在使用排毒14.4.1

2 个答案:

答案 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}}。排毒会把这些东西加进去。