Java 如何将appium连接到android上正在运行的现有应用程序

Java 如何将appium连接到android上正在运行的现有应用程序,java,selenium-webdriver,appium,appium-android,Java,Selenium Webdriver,Appium,Appium Android,我正在编写一个跨平台的自动化程序,其中我有一个selenium桌面驱动程序,我执行一些操作,在设备上启动我的服务,在android设备上启动警报,我希望接受警报,然后同时使用web驱动程序和移动驱动程序来执行一些功能 web驱动程序工作正常—它在web浏览器上执行所需的操作,并在设备端创建警报 因此,我的应用程序/服务已经在设备上启动,现在当我尝试设置appium功能时: DesiredCapabilities capabilities = new DesiredCapabilities();

我正在编写一个跨平台的自动化程序,其中我有一个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将终止我现有的会话,并安装应用程序,并尝试使用提供的有效负载启动活动,该负载现在无效

因此,我有一种方法可以为设备上运行的现有应用程序/服务创建移动驱动程序,而无需安装应用程序并重新启动它

我发现你必须做诺雷斯特,但这似乎对我不起作用。 我尝试提供appWaitPackage和appWaitActivity,而不是appPackage和appActivity,但这也不起作用


如果你们中有人知道如何将移动驱动程序连接到现有正在运行的应用程序/服务,请告诉我。

是否尝试使用会话覆盖标志?setCapability(“–会话覆盖”,true);当我收到此消息时,它无法识别该功能,提供了以下功能,但appium无法识别:版本、平台、,–session override我已经按照上述功能建议添加了以下代码。setCapability(“–session override”,“true”);即使版本和平台未被识别?你能展示你的全部代码吗?