我正在运行一个自动化测试,该测试会在android设备上启动第三方应用程序。通过运行此命令:
@Given("^I open app")
public void launchThirdParty() throws Exception {
Runtime rt = Runtime.getRuntime();
rt.exec("adb -s " + AndroidDevice.deviceName + " shell am start -n " +
"app.integration/.ui.MainActivity");
这将打开应用程序,但在50秒后崩溃,此错误在我的日志中弹出:
E/UiDevice: Exceuting watcher: CRASH2
java.lang.IllegalStateException: UiAutomation not connected!
at android.app.UiAutomation.throwIfNotConnectedLocked(UiAutomation.java:971)
at android.app.UiAutomation.waitForIdle(UiAutomation.java:577)
at com.android.uiautomator.core.UiAutomatorBridge.waitForIdle(UiAutomatorBridge.java:96)
at com.android.uiautomator.core.UiAutomatorBridge.waitForIdle(UiAutomatorBridge.java:91)
at com.android.uiautomator.core.QueryController.findAccessibilityNodeInfo(QueryController.java:143)
at com.android.uiautomator.core.QueryController.findAccessibilityNodeInfo(QueryController.java:138)
at com.android.uiautomator.core.UiObject.findAccessibilityNodeInfo(UiObject.java:168)
at com.android.uiautomator.core.UiObject.waitForExists(UiObject.java:852)
at com.android.uiautomator.core.UiObject.exists(UiObject.java:903)
at com.android.uiautomator.common.UiWatchers$4.checkForCondition(UiWatchers.java:107)
at com.android.uiautomator.core.UiDevice.runWatchers(UiDevice.java:557)
at com.android.uiautomator.core.UiObject.findAccessibilityNodeInfo(UiObject.java:173)
at com.android.uiautomator.core.UiObject.waitForExists(UiObject.java:852)
at com.android.uiautomator.core.UiObject.exists(UiObject.java:903)
at io.appium.android.bootstrap.utils.TheWatchers.isDialogPresent(TheWatchers.java:51)
at io.appium.android.bootstrap.utils.TheWatchers.check(TheWatchers.java:36)
at io.appium.android.bootstrap.SocketServer$1.run(SocketServer.java:140)
at java.util.Timer$TimerImpl.run(Timer.java:284)
我已经查看了该错误,并且似乎没有太多有关此信息或任何快速修复或解决方法的信息,有人可以帮助我解决此问题并确保该应用不会崩溃吗? / p>