在每次仪器测试(Android Studio)之前重置/清除应用程序

时间:2019-05-18 09:00:33

标签: java android android-studio testing

我正在尝试执行测试套件,但我需要进行研究,以便在每次测试之前将应用程序置于清除状态。使用Gradle的connectedCheck应用程序会在每次测试之前恢复运行,我已经使用Orchestrator将clear参数设置为true,以便在测试之后擦除数据,但是如果我确实在一个包中同时执行所有测试,则表明两次执行之间并没有真正清除该应用程序。

您对我为什么可以在android studio或命令行上完成此操作有任何建议吗?

我还尝试通过

解决问题
  • 实现ClearData批注(无效)
  • 实施clearData任务,该任务仅在第一次测试后执行

更新 显然,我发现了  testInstrumentationRunnerArguments clearPackageData: 'true',我已将协调器版本从1.0.1更新为1.0.2,现在它可以工作,在每次测试运行前清除应用程序数据。

1 个答案:

答案 0 :(得分:1)

我设法通过更新如下的Orchestrator版本来解决我的问题:

build.gradle

defaultConfig {
    ...
    testInstrumentationRunner = 'android.support.test.runner.AndroidJUnitRunner'

    // The following argument makes the Android Test Orchestrator run its
    // "pm clear" command after each test invocation. This command ensures
    // that the app's state is completely cleared between tests.
    testInstrumentationRunnerArguments clearPackageData: 'true'
}
testOptions {
    execution 'ANDROID_TEST_ORCHESTRATOR'
}
  dependencies {
    androidTestUtil 'com.android.support.test:orchestrator:1.0.2'

}

问题与编配器的前一版本1.0.1有关,不确定原因。