【问题标题】:Android testing on multiplie devices from JenkinsJenkins 在多台设备上进行 Android 测试
【发布时间】:2020-09-18 17:18:15
【问题描述】:

我正在运行 Espresso 测试来测试我的应用程序。该应用程序首次登录需要短信中的代码。

通过第一次登录的最简单方法是保持安装相同的应用程序,以便保留用户数据。

运行命令:

./gradlew connectedAndroidTest

测试完成后似乎要删除应用程序。有没有什么简单的方法可以跳过卸载部分,只在所有连接的设备上运行测试?

谢谢。

【问题讨论】:

    标签: java android testing gradle android-espresso


    【解决方案1】:

    强烈建议您不要依赖已在设备上设置的状态,而是在测试本身中设置您需要的状态。

    话虽如此,您可以使用 gradle 安装应用程序并使用 adb 运行测试。

    这假定一个标准的默认应用布局和设置,使用 androidx.test 和最新版本的 android gradle 插件。

    首先安装应用和测试。

    ./gradlew installDebug installDebugAndroidTest
    

    然后你就可以执行测试了:

    adb shell am instrument -w com.your.applicationId.test/androidx.test.runner.AndroidJUnitRunner
    

    这将运行您的应用并保持安装您的应用和测试。 您可以连续多次运行adb 命令,它将执行测试而无需重新构建和重新安装您的应用。

    当然,如果您对应用或测试进行任何更改,您将需要重新运行 gradle。

    更多信息:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-08
      • 1970-01-01
      • 2021-08-11
      • 2019-05-02
      相关资源
      最近更新 更多