我正在编写一个跨平台自动化程序,使用Selenium桌面驱动程序执行某些操作,在设备上启动我的服务并在Android设备上启动警报。 我想接受警报,然后同时使用Web驱动程序和移动驱动程序执行一些功能。
Web驱动程序运行良好,可以在Web浏览器上执行所需操作并在设备端创建警报。
因此,我的应用程序/服务已在设备上启动,现在当我尝试设置Appium功能时:
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("platform", "ANDROID");
capabilities.setCapability("version", "4.4");
capabilities.setCapability("automationName", "uiautomator2");
capabilities.setCapability("deviceName", "karnak");
capabilities.setCapability("platformVersion", "7.1");
capabilities.setCapability("noReset", "true");
capabilities.setCapability("autoGrantPermissions", "true");
capabilities.setCapability("appPackage", "xyz");
capabilities.setCapability("appActivity", ".abc");
capabilities.setCapability("optionalIntentArguments", payload);
发生的情况是appium会停止我已有的会话,然后安装应用程序并尝试使用提供的有效负载启动活动,但这个有效负载现在不再有效。
因此,我想知道是否有一种方法可以为设备上现有运行的应用程序/服务创建移动驱动程序,而无需安装应用程序并重新启动它。我发现要做到"noReset",但对我来说似乎不起作用。我尝试了提供appWaitPackage和appWaitActivity而不是appPackage和appActivity,但这也没有起作用。如果你们中的任何人知道如何将移动驱动程序附加到现有的运行中的应用程序/服务,请告诉我。