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");
改变电池水平。其他值或设置可能需要不同的命令。