88Post
(Arthur Khasanov)
26.Ноябрь.2020 07:24:10
#1
Всем привет !
Такой вопрос по селениду:
если я делаю
if ( $(".some_class").waitUntil(Condition.visible, 5_000).getText().equals(“someText”) )
{
…
}
Конструкция waitUntil ведь не делает Assert, так ?
И если нужного текста не найдётся в течении 5 сек, то тест пойдет дальше без fail , верно ?
Объясню для чего мне это нужно: на странице бывает случается 500-ая и тогда на ней появляется некий текст, который я и хочу отловить.
BabyRoot
(Vasily)
26.Ноябрь.2020 07:29:06
#2
Да, верно, дождётся элемента, возьмёт текст из него.
88Post
(Arthur Khasanov)
26.Ноябрь.2020 07:35:51
#3
Ага… Это хорошо.
А есть ли возможность вообще этот 500 http status code как-то встроенными средствами отловить ?
BabyRoot
(Vasily)
26.Ноябрь.2020 07:46:13
#4
Эту ошибку воспроизводите руками - создавайте тикет, пусть исправляют. Не надо ничего отлавливать.
88Post
(Arthur Khasanov)
26.Ноябрь.2020 07:48:07
#5
Если бы все было так просто)
Она нет нет да случается, но редко, когда происходит редеплой базы на беке.
Ладно, пока в тесте будет этот костыль - он и будет сигнализировать о 500-ой.
Спасибо.
Sheff
(Sheff)
26.Ноябрь.2020 16:16:40
#6
asolntsev
(asolntsev)
26.Ноябрь.2020 21:02:47
#7
Погодите, у вас тут проблема скорее организационная.
В тот момент, когда бегут тесты, никаких редеплоев быть не должно.
Вам нужно не ифы по коду расставлять, а пойти и договориться, кто в какой момент что запускает.
P.S. Команда waitUntil(visible, 5_000)
всё-таки делает ассерт. Но не текста, а видимости. Т.е. если элемент не станет видимым в течение 5 секунд, она кинет ошибку.
3 лайка