【发布时间】:2020-08-18 23:47:41
【问题描述】:
我们目前正在为应用程序的一个区域编写 Espresso UI 测试,这需要我们在每次测试后清除应用程序数据
- 我们之前尝试过使用 Android Orchestrator
- 不过,我们之前尝试过使用带有
clearPackageData=true标志的Android 测试编排器;这不适用于 Bitrise 和本地测试执行。例如,尽管我们使缓存等无效,但我们中的一些人无法使用此标志在本地运行测试
-我们的下一个替代方法是尝试使用 ADB 命令来清除包数据,但是当我们使用此命令时,会出现进程崩溃错误:
Test failed to run to completion. Reason: 'Instrumentation run failed due to 'Process crashed.''. Check device logcat for details
Test running failed: Instrumentation run failed due to 'Process crashed.'
我们已尝试在以下级别执行以下操作:
上课前 每次测试前 每次测试后 我们每次都会遇到相同的错误。这是我们正在使用的方法。
public static void clearAppData(){
try {
InstrumentationRegistry.getInstrumentation().getUiAutomation().executeShellCommand("pm clear <packageName>");
}
catch (Exception e){
e.printStackTrace();
}
}
选项: 我们可以在 App 本身中将数据库重置为 dB 吗?
【问题讨论】:
标签: android-espresso