Com*_*are 6 android android-gradle-plugin
如果我:
connectedAndroidDebugTestGradle任务(从Android Studio内部或通过gradlew)该应用程序最终会在测试运行时被卸载。即使我添加了一个testApplicationId值以defaultConfig使测试代码使用其他应用程序ID,我也会得到这种行为。
如何停止这种行为?如何在不干扰现有应用安装的情况下从命令行运行检测测试?
我刚刚遇到这个问题,并发现至少有一个原因可能是所使用的 Android Gradle 插件的版本。
如果知道如何告诉 AGP 8.1.0 不要卸载该应用程序,那就太好了。
编辑:
根据谷歌的问题跟踪器,将会有一个新的配置选项,android.injected.androidTest.leaveApksInstalledAfterRun它将允许保留或不安装应用程序。不过,听起来我们不会比 AGP 8.3.0-alpha07 更早看到它。
# gradle.properties
...
android.injected.androidTest.leaveApksInstalledAfterRun=true
Run Code Online (Sandbox Code Playgroud)
任务connectedCheck的类型为DeviceProviderInstrumentTestTask。对于在一台设备上运行的简单测试,它使用 a SimpleTestRunner,而设备又使用 aSimpleTestRunnable来实际执行测试。在这里你可以找到一个结构
try {
// connect to device
// install all APKs
// run tests
} catch(Exception e) {
// handle error
} finally {
// get test report
// uninstall all APKs
// disconnect from device
}
Run Code Online (Sandbox Code Playgroud)
我不太确定是否找到了最新的实现,但这种确切的行为可以追溯到几年前。所以我猜你无法实现你所要求的。
| 归档时间: |
|
| 查看次数: |
87 次 |
| 最近记录: |