Как сохранить живую сессию Appium на долгое время - PullRequest
0 голосов
/ 22 января 2019

Мне нужно подождать в середине моего теста в течение 5 минут, но сессия Appium имеет значение по умолчанию newCommandTimeout 60 с. , и в следующей команде я получаю исключение, что у моего сеанса тайм-аут.

AndroidDriver appiumDriver = new AndroidDriver(new URL(getMcmUrl()), capabilities);
Thread.sleep(5*60*1000); // 5 minutes sleep time
appiumDriver.executeScript("...")

Ответы [ 4 ]

0 голосов
/ 23 января 2019

В ваших DesiredCapabilities добавьте newCommandTimeout возможностей.

DesiredCapabilities caps=new DesiredCapabilities();
//other desired caps
//add the following line
caps.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, 300);
//then define your driver here
AppiumDriver<MobileElement> driver= new AndroidDriver(new URL(getMcmUrl()), caps);    

newCommandTimeout означает, как долго (в секундах) Appium будет ожидать новую команду отклиент, прежде чем предположить, что клиент вышел и завершил сеанс.

300 сек = 5 минут

0 голосов
/ 22 января 2019

Рассматривали ли вы и отклонили ли переопределение newCommandTimeout? Это, безусловно, будет работать, но имеет свои недостатки.

0 голосов
/ 23 января 2019

попробуйте использовать эту команду,

"cap.setCapability (MobileCapabilityType.NEW_COMMAND_TIMEOUT," 100 ");"

С помощью этой команды сервер appium будет ждать команду в течение 100 секунд, прежде чем завершить работу. Вы можете увеличить время ожидания по своему усмотрению.

0 голосов
/ 22 января 2019

newCommandTimeout:

Сколько времени (в секундах) Appium будет ожидать новую команду от клиента, прежде чем клиент завершит работу и завершит сеанс

в случаечто время ожидания составляет 60 с, вам нужно выполнить любую команду, по крайней мере, один раз в минуту, чтобы поддерживать сеанс в рабочем состоянии.

Например, вот так сон в течение 5 минут должен выглядеть как

for (int i = 0; i < 5; i++) {
    driver.getOrientation(); // execute some command to keep the session alive
    Thread.sleep(59*1000); // wake up before session expired
}

Прочтите эту статью для получения дополнительной информации
https://l18.me/how-to-keep-alive-appium-driver-da9227b2fa

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...