在Espresso测试期间发送模拟器控制台命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Espresso测试期间发送模拟器控制台命令相关的知识,希望对你有一定的参考价值。

Google解释了如何控制android模拟器的许多参数,例如电池的当前电量,传感器输入等等:https://developer.android.com/studio/run/emulator-console.html

我想创建一个Espresso测试,在测试期间更改模拟器的这些参数,这可能吗?我知道有以下方法:

InstrumentationRegistry.getInstrumentation().uiAutomation
    .executeShellCommand("someShellCommand")

这个方法可以在测试期间调用,但是为了更改模拟器的系统参数,我首先必须通过telnet localhost 5554登录,然后才能操作模拟器参数,例如:power capacity 30,它将电池的功率改为30%。如何在Espresso测试期间执行此操作?

答案

你可以试试

InstrumentationRegistry.getInstrumentation().uiAutomation
    .executeShellCommand("dumpsys battery set level 30");

改变电池水平。其他值或设置可能需要不同的命令。

以上是关于在Espresso测试期间发送模拟器控制台命令的主要内容,如果未能解决你的问题,请参考以下文章

如何编写模拟 GPS 位置的 Espresso 测试并在 Google Testlab 中使用它们?

在 Espresso 测试中忽略 pressBack()

在 Android Espresso UI 测试中从 Facebook 注销

指纹读取器浓缩咖啡测试

想要在 Xcode 中的 UI 测试期间在测试运行后停止调试控制台清除

如何使用 gradlew 命令分别执行 Espresso 多个测试类