Я пишу кроссплатформенную автоматизацию, в которой у меня установлен драйвер для настольного компьютера selenium, и я выполняю какое-то действие, которое запускает мой сервис на устройстве, и на устройстве Android запускается оповещение, и я хочу принять оповещение, а затем использовать как веб-драйвер, так имобильный драйвер вместе для выполнения некоторых функций.
Веб-драйвер работает нормально, он выполняет требуемое действие в веб-браузере и создает предупреждение на стороне устройства.
Следовательно, мое приложение / служба уже запущенона устройстве и теперь, когда я пытаюсь установить возможности 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, но это тоже не сработало.
Дайте мне знать, если кто-нибудь из вас знает, как я могу подключить мобильный драйвер к существующему работающему приложению / службе.