Нестабильные результаты прогона или 504 Gateway Time-out

Автоматизирую тесты на Python + Selenium + pytest +/- мелкие библиотеки
Написал некоторый набор тестов, все работает отлично за исключением пары тестов, которые дают не стабильный результат: Делаю 10 прогонов с одной и тоже логикой на одном и том же сервере и получаю примерно 7 успешных и 3 неудачных прогона, ошибка очень странная и не гуглиться:

self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x10ec47b00>
response = {'status': [13, 'unknown error'], 'value': "<html><body><h1>504 Gateway Time-out</h1>\nThe server didn't respond in time.\n</body></html>"}

Такая ошибка не одна и во всех подобных тестах падение происходит во время перехода по url, делаю вот так:

self.open(self.url + self.my_url)
->
self.driver.get(project + path)

Что это может быть? Как гуглить? Есть ли костыли по этой баге и тд? Если нужно больше информации пишите - докину

Сами тесты крутятся в кубере и перезагрузка куба на время решает эту проблему, но не исключает ее

Я бы попросил вначале программистов посмотреть, что в данный момент происходит в логах. Возможно бага самой аппликации.

Возможно ваш стенд не выдерживает нагрузки.

2 лайка

Попробуйте снимать скриншоты при падении тестов. Иногда помогает установить причину проблемы. Хотя очень похоже на то, что сказал @Valentin_G: тестовое окружение не выдерживает нагрузки. Проверить просто: напишите простенький многопоточный тест, который будет бомбить backend REST запросами, аналогичными тем, которые возвращают 504.

2 лайка

проблема абсолютно не зависит от теста, она может возникнуть как в начале тест сьюта, так и в конце, тяжелый тест может пройти, а совсем легкий в один клик - упадет, все более менее серьезные стресс тесты стенд проходит на отлично, проблема в хабе

В проекте была ситуация - нестабильно работал сторонний сервис, надо было проверить его. Используя JMeter сделал нагрузочный тест, при 20 запросах - более 50% было с 500 кодом. Дал результаты тамошним разработчикам - за пару дней нашли у себя баг и пофиксили.

Проблему удалось решить настройками запуска, в докере под вебдрайвер необходимо выделять дополнительную таблицу под кэш ссылок, иначе память переполняется и запросы начинают пропадать без вести

А поподробнее можно расписать решение?
Спасибо.

1 лайк

у нас слишком сложная система в кубернетисе, чтобы расписать подробно девопсовское решение, но решение нужно искать на стороне кубернетиса и его настроек