gpt4 book ai didi

android-espresso - 如何以编程方式使用 Espresso 测试清除应用程序数据?

转载 作者:行者123 更新时间:2023-12-05 04:59:31 26 4
gpt4 key购买 nike

我们目前正在为我们的应用程序的一个区域编写 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();
}
}

选项:我们可以在应用程序本身中将数据库重置为 dB 吗?

最佳答案

在调试版本中运行时,让开发团队在应用程序内部启用数据库重置功能可能是最简单的方法。理想情况下,它是初始屏幕上的一个按钮,因此您无需做太多工作即可访问它,除非您的应用程序在测试之间返回到之前的状态(我面前没有一个正常运行的环境来检查)在这种情况下,代码会变得困惑。

你是对的,你在问题中提到的方法是行不通的;放弃他们。

关于android-espresso - 如何以编程方式使用 Espresso 测试清除应用程序数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63467283/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com