Кнопка выбрана правильно с использованием селектора CSS, а затем по ней выполняется щелчок. Событие помечается как выполненное, как видно в журналах селена, однако в случае успеха должна быть отображена новая страница, чего не происходит.
Тот же фрагмент кода работает в хроме.
Версия WDIO: v4.0.9
Узел: 6.2.0
Тестер WDIO
Синхронный тест.
селен-сервер-автономный-2.53.0.jar
bhuvneshchaudhary @ bhuviMac : ambari-selenium $ ./node_modules/phantomjs/bin/phantomjs --version
2.1.1
CommonElements.clickNext();
browser.saveScreenshot('test1.jpg');
browser.pause(5000);
CommonElements.clickConfirmationOk();
browser.pause(5000);
// On Page 3
browser.saveScreenshot('test.jpg');
CommonElements.clickComplete();
В приведенном выше фрагменте кода
clickNext () открывает всплывающее окно с двумя кнопками «Отмена» и «ОК».
clickConfirmationOk () должен нажать кнопку ОК и перейти на следующую страницу.
clickComplete () отмечает завершение на новой странице.
Тем не менее, согласно журналам, clickConfirmationOk () проходит успешно и переходит к clickComplete (). Однако он продолжает ждать, пока элемент существует, но он никогда не появляется, так как на самом деле он все еще находится в всплывающем окне, которое показывает Ok и Cancel.
Селектор CSS, используемый для идентификации кнопки, является правильным, что подтверждается getHTML и другими инструментами выбора CSS в Интернете.
Фрагмент кода
clickConfirmationOk: {
value: function () {
var okSelector = '.modal-footer .btn.btn-success';
browser.waitForExist(okSelector);
console.log(browser.getHTML(okSelector));
browser.waitForEnabled(okSelector, 100000);
browser.click(okSelector);
}
},
clickComplete: {
value: function () {
var completeSelector = '#common-progress-page .btn.btn-success.pull-right';
browser.waitForExist(completeSelector);
console.log(browser.isEnabled(completeSelector));
browser.waitForEnabled(completeSelector, 900000);
browser.click(completeSelector);
}
}
Журналы Selenium https://gist.github.com/bhuvnesh2703/aec82bea06debf92f9a4f6e4da93c2ea :
Вывод результатов теста: https://gist.github.com/bhuvnesh2703/076af36f5931c8fdae4a81db612bf4b7
@ bhuvnesh2703 это случается с вами каждый раз или только иногда? Я наблюдаю аналогичную проблему, когда мы используем find('#element').click
а иногда тесты терпят неудачу. Однако использование find().trigger('click')
похоже, работает.
Мне интересно, такая же проблема или нет и как собрать больше информации.
У меня тоже есть аналогичная проблема, но с выпадающими меню начальной загрузки. Я могу открыть раскрывающееся меню, но если я попытаюсь click
элемент в раскрывающемся меню, меню закрывается, но обработчик кликов не запускается.
Из-за наших очень ограниченных возможностей обслуживания мы должны уделять приоритетное внимание развитию других задач. Поэтому проблема будет автоматически закрыта (подробнее см. # 15395). В будущем, если мы увидим необходимость снова заняться этим вопросом, то он будет снова открыт. Спасибо Вам за Ваш вклад!
Самый полезный комментарий
У меня тоже есть аналогичная проблема, но с выпадающими меню начальной загрузки. Я могу открыть раскрывающееся меню, но если я попытаюсь
click
элемент в раскрывающемся меню, меню закрывается, но обработчик кликов не запускается.