Android 在Espresso测试期间发送模拟器控制台命令
谷歌在这里解释了如何控制Android仿真器的许多参数,如电池的当前电量、传感器输入等: 我想创建一个浓缩咖啡测试,在测试期间更改模拟器的这些参数,这可能吗?我知道有以下方法:Android 在Espresso测试期间发送模拟器控制台命令,android,android-emulator,android-espresso,Android,Android Emulator,Android Espresso,谷歌在这里解释了如何控制Android仿真器的许多参数,如电池的当前电量、传感器输入等: 我想创建一个浓缩咖啡测试,在测试期间更改模拟器的这些参数,这可能吗?我知道有以下方法: InstrumentationRegistry.getInstrumentation().uiAutomation .executeShellCommand("someShellCommand") 此方法可以在测试期间调用,但要更改模拟器的系统参数,我首先必须通过telnet localhost 5554登录,
InstrumentationRegistry.getInstrumentation().uiAutomation
.executeShellCommand("someShellCommand")
此方法可以在测试期间调用,但要更改模拟器的系统参数,我首先必须通过telnet localhost 5554
登录,然后才能操作模拟器参数,例如so:power capacity 30
,这将电池的功率更改为30%。如何在浓缩咖啡测试中做到这一点?你可以试试
InstrumentationRegistry.getInstrumentation().getUiAutomation()
.executeShellCommand("dumpsys battery set level 30");
更改电池电量。其他值或设置可能需要不同的命令
注意:阅读完毕后,您有责任关闭返回的文件描述符。如果有人正在使用此描述符,请确保对
executeShellCommand()
返回的对象调用.close()
。否则后续测试将失败。从API 18开始,您似乎需要使用getter:.getUiAutomation()
。