Перейти к содержимому

Фотография

Jenkins игнорирует метод ожидания скриптов ExtJS


  • Авторизуйтесь для ответа в теме
В теме одно сообщение

#1 Dimitriys

Dimitriys

    Новый участник

  • Members
  • Pip
  • 2 сообщений

Отправлено 19 февраля 2017 - 12:28

Добрый день.

 

Возникла проблема. Есть некий сайт на ExtJS. Есть автотест (используется WebDriver 3.0.1 на Java), в коде которого перед findElement встречается ожидание отработки всех скриптов на странице:

public void waitAjax () {
    boolean ajaxRunning;
    long endTime = System.currentTimeMillis() + 15000;
    do {
        JavascriptExecutor executer = (JavascriptExecutor) driver;
        ajaxRunning = ((Boolean) executer.executeScript("return Ext.Ajax.isLoading();"));
    } while (ajaxRunning && System.currentTimeMillis() < endTime);
}

При запуске данного теста из IDE (IntelliJ Idea) проблем нет (ИЕ11 и Хром): тест корректно ждет, пока ExtLS не вернет false и потом продолжает работу с элементами. Но при включении данного теста в Jenkins (в тех же браузерах) последний просто игнорирует данный метод waitAjax() и следующий за ним findElement выдает Unable to find element.

 

Подскажите, как заставить Jenkins не игнорировать данный метод или в какую сторону можно еще продолжить раскопки?


  • 0

#2 Dimitriys

Dimitriys

    Новый участник

  • Members
  • Pip
  • 2 сообщений

Отправлено 20 февраля 2017 - 16:47

Вопрос снят. Дело не в Jenkins, а Ext.Ajax.isLoading() вызывался многократно при загрузке. При запуске в браузере ловился последний вызов вследствие его "тормознутости", но в сборке Дженкинса отрабатывалось намного быстрее и страница не успевала дозагрузиться.


  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных