找不到 detox 应用程序,您是不是运行了“./gradlew assembleAndroidTest”?

Posted

技术标签:

【中文标题】找不到 detox 应用程序,您是不是运行了“./gradlew assembleAndroidTest”?【英文标题】:detox app could not be found, did you run './gradlew assembleAndroidTest'?找不到 detox 应用程序,您是否运行了“./gradlew assembleAndroidTest”? 【发布时间】:2019-05-27 19:43:30 【问题描述】:

我正在为 react native android 版本 0.57 进行排毒测试。我收到此错误。

错误是

错误:'D:\folder\android\app\build\outputs\apk\androidTest\dev\debug\app-dev-debug-androidTest.apk' 找不到,你运行了'./gradlew assembleAndroidTest ' ?

包.json

"android.emu.debug": 
"binaryPath": "android/app/build/outputs/apk/dev/debug/app-dev-debug.apk",
"build": "cd android && .\\gradlew assembleDebug assembleAndroidTest -DtestBuildType=debug && cd ..",
"type": "android.attached",
"name": "192.168.83.101:5555"

错误图片

【问题讨论】:

【参考方案1】:

如果您使用 binaryPath 指定它,Detox 会出现奇怪的行为,它会改变您的 apk 路径。

要指定您的 apk 的确切路径,请为 testBinaryPath 添加一个条目,该条目指向您希望 Detox 使用的 APK。

【讨论】:

这应该是公认的答案!谢谢:)【参考方案2】:

此错误通常是由于没有构建测试 apk 而引起的。通常可以通过运行来解决

detox build -c android.emu.debug

如果您对应用程序进行了更改,您应该始终在运行任何测试之前运行上述脚本。

我通常会运行以下脚本以确保在测试之前构建是最新的。

detox build -c android.emu.debug && detox test -c android.emu.debug

【讨论】:

谢谢,如果我在没有构建的情况下运行,我会收到此错误。如果我执行“ detox build -c android.emu.debug && detox test -c android.emu.debug ”,metro bundler 没有打开,所以测试会抛出错误。目前我正在运行两个命令 react-native run-android 和 detox test -c android.emu.debug 它正在工作 如何对弹出消息进行排毒测试。例如:对于自动选择 OTP,我们要求用户在 react native android 中允许或拒绝权限,如何在 detox 中拒绝权限? 我不确定 Metro 捆绑器为什么没有启动。这是我使用的命令,它为我启动,这是一个香草排毒设置。在运行detox build ...之前,您始终可以通过运行npm start 来运行metro bundler github.com/wix/detox/blob/master/docs/… 您还可以使用其他方法在视图层次结构中查找项目。我建议您花点时间通读文档,以便了解 Detox 的功能和功能。 谢谢,我会去查资料【参考方案3】:

将路径 android/app/build/outputs/apk/dev/debug/app-dev-debug.apk 更改为 android/app/build/outputs/apk/debug/app-debug.apk 并且 detox 会自动创建 apk 到路径 android/app/build/outputs/apk/AndroidTest/debug/app-debug-androidTest.apk

【讨论】:

以上是关于找不到 detox 应用程序,您是不是运行了“./gradlew assembleAndroidTest”?的主要内容,如果未能解决你的问题,请参考以下文章

wix/Detox 测试找不到 ANDROID_SDK_ROOT

Detox 找不到已指定 testId 的自定义组件

排毒:在 Info.plist 中找不到字段 CFBundleIdentifier

运行“排毒测试”时找不到模块@jest/reporters

Android Detox 的权限

找不到连接的设备。重新连接所有连接的设备,验证您的系统是不是能够识别它们,然后再次运行此命令