Appium: получение ошибки «Не удалось запустить сеанс Chromedriver, исходная ошибка: неизвестная ошибка: не удалось получить PID для следующего процесса» - PullRequest
0 голосов
/ 20 сентября 2018

Получил эту ошибку, когда я тестировал "внутренний" вариант сборки Android, я считаю, что проблема заключается в несоответствии имени пакета и процесса нашей сборки приложения Android, которое может произойти, если имя пакета изменилось из-за "внутреннего"аромат.Я все еще изучаю, как это исправить, и я могу найти любые соответствующие случаи здесь и во время поиска в Интернете.Я буду продолжать искать и пробовать исправления, но если у кого-то есть идея или решение, пожалуйста.дайте мне знать.

1 Ответ

0 голосов
/ 29 сентября 2018

Выводы : Оказывается, Android создает новое имя пакета для каждой отдельной сборки, см. https://developer.android.com/studio/build/build-variants, но сохраняет имя процесса.В нашем случае он добавил «внутренний» в имя пакета ex.com.xxxx.android.internal, а имя процесса остается com.xxxx.android.

Проблема : корень проблемы в том, что при переключении в контекст веб-просмотра Appium передает определенные возможности ChromeDriver, включая packageName, но при попытке выполнить команду adb для поиска процесса, который можетне найден из-за несоответствия.

Решение : Используйте возможность chromeOptions для передачи processName, см. код ниже в java.

Map<String, Object> chromeOptions = new HashMap<String, Object>();
chromeOptions.put("androidProcess", "com.xxxx.android"); 
capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);
...