android - 开始测试前卸载应用程序

标签 android testing android-espresso

我们正在尝试为我们的应用编写 instrumentationTest。

比如我想写授权/注册测试。

但是在每次测试之前我都想获得授权?所以我需要清理所有数据,删除数据库等。

那么有没有办法在每次测试前删除应用程序或应用程序的数据?

最佳答案

使用 Android Studio,您可以创建一个测试配置,在运行测试之前先卸载您的应用。

创建一个新的外部工具。

  1. 转到首选项 -> 外部工具。
  2. 点击“+”图标创建一个新工具。
  3. 将名称设置为“Uninstall myApp”(或您喜欢的任何名称)
  4. 将组设置为“自定义工具”(或任何您喜欢的)
  5. 将程序设置为“adb”
  6. 将参数设置为:
    uninstall name.of.your.package
    
  7. 单击“确定”。

您可以通过单击 Tools -> External Tools -> “Uninstall myApp”(或者对于旧的 Android Studio 版本,Tools->Custom)来测试这个新工具是否有效工具->“卸载我的应用程序”)。

第 2 步。创建或编辑您的测试配置。

  1. 转到编辑配置。
  2. 选择您要修改的 Android 测试配置。
  3. 在“启动前:...”下,点击“+”图标。
  4. 选择“运行外部工具”。
  5. 在弹出窗口中,选择您的新工具“Uninstall myApp”。
  6. 使用箭头,使外部工具位于任何其他命令之上,例如 Gradle-aware Make。
  7. 单击“确定”。

现在,当您运行此配置时,应先卸载您的应用,然后再运行测试。

分享

较新的 Android Studio 版本具有“存储为项目文件”选项(在“编辑配置...”对话框中)。

但这只节省了工具的构建步骤(上面的第二步),并且要通过存储库共享“外部工具”本身,请参阅: Share or Export External tools without using jar-file

关于android - 开始测试前卸载应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20705711/

相关文章:

android - 我可以使用 Espresso 测试状态栏色调/颜色吗?

android - 在 Canvas 上平铺位图

testing - JMeter JSR223 断言中的 Groovy 方法声明

php - 无法在 Laravel Dusk 中截图

android - 无法识别为内部或外部命令错误

android - "Empty suite" Espresso 测试

android - 录制音频时更改声音/音高

android - 哪些设备支持和不支持 USB 主机模式?

android - 防止android studio在xml文件中创建多个标签

testing - 在测试场景中阻止外部 web 服务模拟 "down"的策略?