在几个模拟器上启动Espresso测试

时间:2017-01-13 10:28:50

标签: android android-emulator automated-tests android-espresso

我们想测试一个Android库适用于从Android 9到25的所有模拟器。为此,我们从9到25下载了模拟器,逐个创建它们,然后进入启动模拟器的循环,传递当测试为绿色时,对其版本进行测试并关闭仿真器。

如果我的一位同事想要做同样的事情,他必须重复所有的手动过程:全部下载,创建每个版本的模拟器,启动它,手动启动测试,停止测试并转到下一个模拟器。

有什么方法可以自动化这个过程?我知道测试会持续几次,但我们希望我们最好的库将会发布:·)

3 个答案:

答案 0 :(得分:4)

一种方法是使用Fastlane,特别是automated_test_emulator_run插件(https://github.com/AzimoLabs/fastlane-plugin-automated-test-emulator-run

例如:

  lane :Automation_EmulatorRun_Gradle do
      automated_test_emulator_run(
        AVD_setup_path: "~/<path to your avd setup>/AVD_setup.json",
        gradle_task:"<your test task>"
      )
   end

答案 1 :(得分:2)

您还可以尝试spoon方形,通过function getMaxElement(elements) { var elementsLength = elements.length, elVal = 0, maxVal = 0; for (var i = 0; i < elementsLength; i++) { elVal = elements[i].getBoundingClientRect()[side] + getComputedStyle('marginBottom',elements[i]); if (elVal > maxVal) { maxVal = elVal; } } return maxVal; }

向所有可见的设备启动检测测试

答案 2 :(得分:0)

你检查过Swarmer吗?似乎只是做你想要的事情

https://github.com/gojuno/swarmer

从他们的自述文件中可以看出:

  

启动多个Android仿真器并等待每个仿真器并行启动。