Необходимо запустить два экземпляра сервера Appium с другим портом и портом начальной загрузки.
Запустите свой сервер Appium для пассажирского приложения из терминала или настольного приложения Appium в порту 4732 и порта начальной загрузки 4733.
>appium -a 127.0.0.1 -p 4732 -bp 4733 --session-override
Запустите сервер Appium для приложения драйвера из терминала или настольного приложения Appium через порт 4734 и порт начальной загрузки 4735
>appium -a 127.0.0.1 -p 4734 -bp 4735 --session-override
, также необходимоиспользуйте устройство udid в нужных вам возможностях, чтобы указать драйвер для устройства. udid - уникальный идентификатор устройства.Вы можете найти udid устройства с помощью команды adb devices .
Определите DesiredCapabilities для приложения для пассажиров и водителя, указав имя_устройства , udid , имя_платформы , имя-автомата , ( appPackage , appActivity ) или ( app )
вам может понадобиться включить newCommandTimeout в ваши DesiredCapabilities.
Определить и инициализировать AppiumDriver для приложения для пассажиров и водителякак после.
public static AppiumDriver<MobileElement> pDriver; //passenger app
public static AppiumDriver<MobileElement> dDriver; //driver app
pDriver= new AndroidDriver<MobileElement>(new URL("http://127.0.0.1:4732/wd/hub"), pCaps);
//pCaps = passenger app DesiredCapabilities
dDriver=new AndroidDriver<MobileElement>(new URL("http://127.0.0.1:4734/wd/hub"), dCaps);
//dCaps = driver app DesiredCapabilities
Вы должны определить AppiumDriver как static
порт начальной загрузки> порт для использования на устройстве для связи с Appium (только для Android)
Session-0verride> Включает переопределение сеанса
newCommandTimeout> Как долго (в секундах) Appium будет ожидать новую команду от клиента, прежде чем клиент завершит работу и завершит сеанс