有时,Appium的startActivity()函数在启动应用程序时可能会出现问题,这可能是由于某些代码行为。此问题可以通过以下代码解决:
在启动应用程序之前,您需要执行以下操作-
1.在Appium服务中打开UiAutomator2 server:
// starting app
AppiumDriverLocalService service = AppiumDriverLocalService.buildDefaultService();
service.start();
// set capabilities
DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability(MobileCapabilityType.AUTOMATION_NAME, "UiAutomator2");
caps.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android");
caps.setCapability(MobileCapabilityType.PLATFORM_VERSION, "7.1.1");
caps.setCapability(MobileCapabilityType.DEVICE_NAME, "Android Emulator");
caps.setCapability(MobileCapabilityType.APP, "/path/to/app.apk");
// create driver instance
AndroidDriver driver = new AndroidDriver<>(service.getUrl(), caps);
2.使用AndroidDriver的startActivity()方法启动应用程序:
// start activity
Activity activity = new Activity("com.package.name", "com.package.name.ActivityName");
activity.setAppWaitPackage("com.package.name");
activity.setAppWaitActivity("com.package.name.MainActivity");
driver.startActivity(activity);
现在,尝试使用此解决方案启动应用程序。
上一篇:AppiumDesktop无法及时找到已连接的物理设备。
下一篇:Appium的UiSelector().ResourceIdMatches的Or( | )条件导致了NoSuchElementException异常。