Java + Selenide + Appium на элементе iOS (locator: AccessibilityId) click () занимает> 4 минуты, чтобы выполнить - PullRequest
0 голосов
/ 27 марта 2020
class MyPOClass{

  @iOSXCUITFindBy(accessibility = "selector_1")
  private SelenideElement elementToClick;

  public void clickElement() {
    log("WAIT_START");

    elementToClick.waitUntil(appear, 20000); //ms

    log("WAIT_DONE, CLICK_START");

    recurringTransfersTab.click();

    log("CLICK_DONE");
  }

  public void touchActionOnElement() {
    log("WAIT_START");

    elementToClick.waitUntil(appear, 20000); //ms

    log("WAIT_DONE, CLICK_START");
    var location = elementToClick.getLocation();
    var size = elementToClick.getSize();
    var driver = (IOSDriver) WebDriverRunner.getWebDriver();
    new IOSTouchAction(driver)
        .tap(PointOption.point(location.x + size.width / 2, location.y + size.height / 2))
        .perform();

    log("CLICK_DONE");
  }

  private void log(String log){
    System.out.println("[" + ZonedDateTime.now().format(log) + "]: " + log);
  }
}

Вывод для метода ckickElement():

[13:00:43] WAIT_START
[13:00:58] WAIT_DONE, CLICK_START
[13:05:04] CLICK_DONE

Вывод для метода touchActionOnElement():

[14:46:01] WAIT_START
[14:46:19] WAIT_DONE, CLICK_START
[14:46:29] CLICK_DONE

Вопрос: что может быть проблема с методом click() и почему для его выполнения требуется 4:06 мин.

Дополнительная информация:

  1. при каждом запуске у меня одинаковая продолжительность нажатия (4: 06 минут).

  2. Appium не получает никаких команд после щелчка. Если уменьшить newCommantTimeout до значения меньше 240 se c, я буду видеть в журнале приложений:

     [BaseDriver] Shutting down because we waited 120 seconds for a command
     [Appium] Closing session, cause was 'New Command Timeout of 120 seconds expired. Try customizing the timeout using the 
    
...