У меня есть случайные таймауты в тестах кипариса
Я работаю с Cypress уже 3 месяца, и я пытаюсь решить эту проблему в течение 2 месяцев, и я действительно не знаю, как ее исправить.
Когда я запускаю все свои тесты, многие тесты проваливаются. И каждый раз это еще один тест (случайный).
У приложения, которое я тестирую, есть кнопка, которая отключена, и когда поля заполнены текстом, кнопка становится активной. но проблема в том, что кипарис нажимает на кнопку, когда кнопка все еще отключена. для активации кнопки требуется некоторое время, теперь я добавил в код следующее:
- cy.wait ('@ budgetblindsPost')
- cy.wait (500)
Но это тоже не работает. У меня меньше ошибок, но я все еще получаю ошибки.
1 ответ
С помощью cy.wait()
повсеместно может в конечном итоге решить проблемы, связанные с таймаутом, но сделает ваш набор тестов излишне медленным. Вместо этого вы должны увеличить время ожидания
Единовременный
Эта команда потерпит неудачу только через 30 секунд, когда не удастся найти объект, или, если он найдет его, через 30 секунд, когда он не сможет щелкнуть по нему.
cy.get('#model_save', {timeout: 30000}).click({timeout: 30000});
Обратите внимание, что ваша ценность 500
означает полсекунды, что может быть недостаточно.
Глобальный
Если вы обнаружите, что во многих местах вы переопределяете тайм-аут с одним и тем же значением, вы можете увеличить его в конфиге один раз.
defaultCommandTimeout: 4000
Время ожидания в миллисекундах до истечения времени ожидания большинства команд на основе DOM