当我使用adb shell命令执行时,以下代码工作正常。但是,如果我尝试使用apk,则无法正常工作。有帮助吗?
public void onStart() {
super.onStart();
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Bundle bundle = new Bundle();
bundle.putString("Test", "value");
try {
startInstrumentation(new ComponentName("com.example.mypro.uiauto.test", "android.support.test.runner.AndroidJUnitRunner"),null, bundle);
} catch (Exception e) {
}
}
});
}
@Test
public void pressHome() {
UiDevice uiDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());
uiDevice.pressHome();
}
答案 0 :(得分:0)
去年8月,我陷入了同样的境地。到目前为止,您无法从APK触发检测测试。这是Android guide的链接。因为在这种情况下,您也可以访问其他应用程序的UI。这将是整个Android操作系统中的一个安全问题,其中一个应用程序正在打开另一应用程序并进行随机操作,这是一个威胁。
您可以通过命令提示符/终端或仅通过Android Studio执行检测测试。 我共享的链接中有一列标题为“在设备或仿真器上运行UI Automator测试”。