【问题标题】:How to run only a test suite with the connectedAndroidTest command如何使用 connectedAndroidTest 命令仅运行测试套件
【发布时间】:2017-03-14 12:39:22
【问题描述】:

我在循环 ci 中运行 UI 测试时遇到超时问题,因为 connectedAndroidTest 命令运行时间超过 10 分钟。

所以我试图将它们分成测试套件并一次运行每个套件。

我在这里找到了如何为我的 android 测试创建套件:https://developer.android.com/reference/junit/framework/TestSuite.html

但我找不到如何使用 connectedAndroidTest 命令运行它们。

【问题讨论】:

    标签: android android-espresso android-testing circleci


    【解决方案1】:

    我还没有找到任何方法来执行 TestSuite,但我找到了另外两个选项来解决我的循环 ci 测试超时问题:

    • 按包运行测试:

    ./gradlew app:connectedAndroidTest -Pandroid.testInstrumentationRunnerArguments.package=<package>

    • 按类型运行测试:

    ./gradlew connectedAndroidTest -Pandroid.testInstrumentationRunnerArguments.size=<small|medium|large>

    您需要将@SmallTest、@MediumTest、@LargeTest 添加到您的测试类或方法中,以将它们分成组并避免超时。

    我发现的另一个选项是更改命令的超时时间:

    - ./gradlew app:connectedCheck -PdisablePreDex:
        timeout: 1800
    

    【讨论】:

      【解决方案2】:

      要添加到@jonathanrz 答案:

      • 按类运行测试:

      ./gradlew app:connectedAndroidTest -Pandroid.testInstrumentationRunnerArguments.class= com.example.app.MyTestClass

      • 按方法运行测试:

      ./gradlew app:connectedAndroidTest -Pandroid.testInstrumentationRunnerArguments.class= com.example.app.MyTestClass#myTestMethod

      顺便说一句:您可以通过添加以下内容为您的测试添加更多参数:

      -Pandroid.testInstrumentationRunnerArguments.foo="My\ Extra\ Info

      请注意,如果存在空格,您必须如何在此处转义

      【讨论】:

        猜你喜欢
        • 2015-08-27
        • 2015-05-09
        • 2016-08-10
        • 1970-01-01
        • 2011-04-29
        • 1970-01-01
        • 2015-11-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多