Я потратил пару дней, пытаясь заставить элементы Protractor щелкать, которые видны на странице, появляющейся после нажатия на кнопку. Но большую часть времени у меня появляется эта ошибка:
Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.
Stack:
Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.
at ontimeout (timers.js:498:11)
at tryOnTimeout (timers.js:323:5)
at Timer.listOnTimeout (timers.js:290:5)
Я попробовал пару вещей:
browser.waitForAngular
блокировал скрипт, хотя я мог
видите, я был на второй странице.
Множественная browser.driver.wait
реализация, как эта:
browser.driver.wait (EC.visibilityOf ($ ('li.unsigned')), 10000) .then (() => {
. Элемент ($ ( 'li.unsigned')) нажмите ();
})
protractor.ExpectedConditions
, как вы можете видеть выше, но это тоже не сработало.
Я также добавил опцию в моем скрипте onPrepare для управления implicitWait, вот так:
onPrepare: function () {
. Browser.manage () времени ожидания () implicitlyWait (15000);.
Единственный способ заставить его работать, это удалить все, что я пробовал, и использовать browser.sleep (10000), прежде чем пытаться щелкнуть элемент.
Если у кого-то есть представление о том, что может вызвать проблему, или что еще я мог бы попробовать, милости просим!