Size: a a a

2020 January 15

А

Алексей in JS for testing
Oleksii Ihnatiuk
в коде надо будет так $('[alt="undefined"]')
Спасибо
источник

O

Olga in JS for testing
Подскажите, пожалуйста, как правильно готовить
browser.wait(browser.ExpectedConditions.alertIsPresent(), 5000);
можно ли сделать например так:

let isAlertShown = await browser.wait(browser.ExpectedConditions.alertIsPresent(), 5000);
       if(isAlertShown == true) {
           await browser.driver.alert().accept();
       }
Пока что у меня возвращается ошибка UnhandledPromiseRejectionWarning: Unhandled promise rejection.  

Мне казалось, он должен просто фейлить тест "ваш алерт так и не появился"

(если что по чату я уже искала, мне казалось, это обсуждали, но не нашла)

(тыквой и шляпой я себя тоже уже обозвала самостоятельно)
источник

AP

Alexander Popov in JS for testing
иф не нужен
источник

OI

Oleksii Ihnatiuk in JS for testing
отредактируйте код пожалуйста
источник

AP

Alexander Popov in JS for testing
если вейт прошел то алерт есть
источник

O

Olga in JS for testing
у меня классический случай, когда алерт то есть, то нет
источник

MS

Mihail Stopnik in JS for testing
попробуй так
   handleJSalert: function () {
       return browser.switchTo().alert().accept().catch(() => null);
   }
источник

O

Olga in JS for testing
это предупреждение типа "у вас есть несохраненные изменения, вы правда хотите уйти со страницы?"

там UI обновляется, а само сохранение (запрос на сервер) может опаздывать на пару секунд.
источник

AP

Alexander Popov in JS for testing
Olga
у меня классический случай, когда алерт то есть, то нет
это что значит?
источник

AP

Alexander Popov in JS for testing
на след строке после вейта он скорее всего будет
источник

AP

Alexander Popov in JS for testing
хотя может и не быть
источник

m

mkots in JS for testing
Если кому-то как и мне интересно почему Тесткафе такой не популярный:
Мы начали e2e тестирование с testcafe и получили первые впечатления,
но PageModel и отсутствие хорошей документации заставили нас перейти на Cypress.
Когда мы начали использовать Cypress, писать e2e тесты стало намного проще, и стало так просто,
что наши тестировщики, обладающие базовым уровнем навыков программирования,
могут писать e2e тесты  на основе UserStory.
Не тестируйте  многократно один и тот же код через UI - взаимодействуйте напрямую с сервером
и устанавливайте необходимые атрибуты на клиенте, например, с помощью POST-запроса для настройки вашего тестового сценария.
источник

m

mkots in JS for testing
источник

OK

Oleksandr Khotemskyi in JS for testing
Olga
Подскажите, пожалуйста, как правильно готовить
browser.wait(browser.ExpectedConditions.alertIsPresent(), 5000);
можно ли сделать например так:

let isAlertShown = await browser.wait(browser.ExpectedConditions.alertIsPresent(), 5000);
       if(isAlertShown == true) {
           await browser.driver.alert().accept();
       }
Пока что у меня возвращается ошибка UnhandledPromiseRejectionWarning: Unhandled promise rejection.  

Мне казалось, он должен просто фейлить тест "ваш алерт так и не появился"

(если что по чату я уже искала, мне казалось, это обсуждали, но не нашла)

(тыквой и шляпой я себя тоже уже обозвала самостоятельно)
вызывать предикат ненужно
источник

OK

Oleksandr Khotemskyi in JS for testing
Olga
Подскажите, пожалуйста, как правильно готовить
browser.wait(browser.ExpectedConditions.alertIsPresent(), 5000);
можно ли сделать например так:

let isAlertShown = await browser.wait(browser.ExpectedConditions.alertIsPresent(), 5000);
       if(isAlertShown == true) {
           await browser.driver.alert().accept();
       }
Пока что у меня возвращается ошибка UnhandledPromiseRejectionWarning: Unhandled promise rejection.  

Мне казалось, он должен просто фейлить тест "ваш алерт так и не появился"

(если что по чату я уже искала, мне казалось, это обсуждали, но не нашла)

(тыквой и шляпой я себя тоже уже обозвала самостоятельно)
var EC = protractor.ExpectedConditions;
await browser.wait(EC.alertIsPresent(), 5000);


и wait не вернет вам isAlertShow
источник

OK

Oleksandr Khotemskyi in JS for testing
Olga
у меня классический случай, когда алерт то есть, то нет
есть еще такая штука в капабилитис -

unexpectedAlertBehaviour
string

What the browser should do with an unhandled alert before throwing out the UnhandledAlertException. Possible values are "accept", "dismiss" and "ignore"
источник

O

Olga in JS for testing
да, я уже поняла, что он не возвращает что-то типа  true / false
источник

O

Olga in JS for testing
я ее гуглила сегодня довольно долго, похоже что не очень она работает (capabilities)
источник

OK

Oleksandr Khotemskyi in JS for testing
Olga
я ее гуглила сегодня довольно долго, похоже что не очень она работает (capabilities)
да, от браузера зависит, но мне помогло на одном проекте
источник

O

Olga in JS for testing
Mihail Stopnik
попробуй так
   handleJSalert: function () {
       return browser.switchTo().alert().accept().catch(() => null);
   }
Спасибо, но не взлетело ((
источник