使用gradle运行UI自动化测试而不卸载

Tor*_*sen 12 android gradle android-uiautomator

当我在Android Studio中运行检测测试时,我发现应用程序之后仍然在设备上.但是我无法从使用gradlew的命令行中做到这一点.我的目的是运行测试,保存例如/ data/data/MyApp/cache/screenshots中的屏幕截图,然后下载这些屏幕截图adb pull.

./gradlew connectedAndroidTest
Run Code Online (Sandbox Code Playgroud)

导致应用程序被卸载.我也试过了

./gradlew connectedAndroidTest -x uninstallAndroidTest
Run Code Online (Sandbox Code Playgroud)

但这没有任何区别.导致卸载的原因是什么,我该如何避免?

Tor*_*sen 16

我通过让gradle只构建apk,然后使用adb处理安装/测试/卸载工作来解决这个问题.这是我的脚本的近似值.

PKGNAME=com.corp.app
./gradlew assembleAndroidTest
adb install -r app/build/outputs/apk/app-debug.apk
adb install -r app/build/outputs/apk/app-debug-androidTest-unaligned.apk

adb shell am instrument -w ${PKGNAME}.test/android.support.test.runner.AndroidJUnitRunner

[ -d screenshots ] || mkdir screenshots
adb pull /data/data/${PKGNAME}/cache/screenshots screenshots

# Now we can uninstall.
adb uninstall ${PKGNAME}.test
adb uninstall ${PKGNAME}

  • 如何从这次执行中收集报告? (2认同)