Size: a a a

2020 December 18

AD

Ann Doo in atinfo chat
Boris Krutskih
Всем привет.
Столкнулся с такой проблемой, нестабильные автотесты при запуске с сервера.
Есть сервер где развернут jenkins в дженкинсе есть джобы которые запускают тесты.
Проблема в том что локально тесты прогоняются 10 из 10 success, на jenkins'e же... 50 на 50... часто ловлю ошибки типа Message: stale element reference: element is not attached to the page document
Зависимости что на локалке что на сервере одинаковые, версии хрома одинаковые. Единственное что отличается то что на сервере тесты в докере запускаются, а на локалке без докера. Тесты запускаются в headless режиме локально и удалённо
Для тестов использую Python + Pytest.
Мощность локальной машини 4х ядерный 8 ГБ озу
Мощность серверной машини 2х Ядерный 8 ГБ озу
Message: stale element reference: element is not attached to the page document
Тут все описано, в вашем сообщении, вы обращаетесь у элементу, который уже удалён из dom дерева, пересмотрите способ ожидания и работу с элементом, это частая проблема, при нагрузке на машину или рендеринге динамических элементов, где есть анимация и отрисовки
источник

BK

Boris Krutskih in atinfo chat
Ann Doo
Message: stale element reference: element is not attached to the page document
Тут все описано, в вашем сообщении, вы обращаетесь у элементу, который уже удалён из dom дерева, пересмотрите способ ожидания и работу с элементом, это частая проблема, при нагрузке на машину или рендеринге динамических элементов, где есть анимация и отрисовки
вообщем вывод можно сделать такой) слабый сервак?
источник

AT

Aleksandr Tkachev in atinfo chat
Selenide в помощь, с ним не должно такой проблемы быть.
источник

ВШ

Вадим Шевчук... in atinfo chat
Boris Krutskih
вообщем вывод можно сделать такой) слабый сервак?
тесты в сколько потоков?
источник

BK

Boris Krutskih in atinfo chat
Вадим Шевчук
тесты в сколько потоков?
в один
источник

BK

Boris Krutskih in atinfo chat
Aleksandr Tkachev
Selenide в помощь, с ним не должно такой проблемы быть.
у меня Python + Selene типа аналог selenide)
источник

ВШ

Вадим Шевчук... in atinfo chat
ну тогда вряд-ли
источник

SG

Sergey Gerasimuk in atinfo chat
нет, с серваком все ок. просто нужно немного тесты допилить. Если бы увидить код теста - то можно более конкретно сказать, что не так
источник

BK

Boris Krutskih in atinfo chat
сейчас скину
источник

SG

Sergey Gerasimuk in atinfo chat
https://habr.com/ru/post/273089/ вот старенькая статья по поводу ожиданий. в вашем случае скорее всего нужны "явные ожидания". попробуйте просто таймаут поставить перед и после строчкой, на которой тест падает. time.sleep(10) . если проблема пропадет - значит нужно дописать вейторы
источник

BK

Boris Krutskih in atinfo chat
Sergey Gerasimuk
нет, с серваком все ок. просто нужно немного тесты допилить. Если бы увидить код теста - то можно более конкретно сказать, что не так
код шагов https://dpaste.org/Qq0m
источник

ВШ

Вадим Шевчук... in atinfo chat
в цикле падает?
источник

BK

Boris Krutskih in atinfo chat
Вадим Шевчук
в цикле падает?
в цикле всё ок. Падает после того как завершился цикл.
Идёт шаг нажатия кнопки другой
источник

BK

Boris Krutskih in atinfo chat
и вот говорит что Element is not attached
источник

BK

Boris Krutskih in atinfo chat
хотя сколько локально не гонял, всё окей
источник

ВШ

Вадим Шевчук... in atinfo chat
да, не увидел коммент, сорри
источник

BK

Boris Krutskih in atinfo chat
Городить слипы уже поднадоело)) и так по всему тесту разбросано кучу
источник

BK

Boris Krutskih in atinfo chat
т.е получается что браузер на серваке тупит сильнее чем у меня на локально на компе
источник

BK

Boris Krutskih in atinfo chat
Это всё что мне в голову пришло, почему отличается результат)
источник

ВШ

Вадим Шевчук... in atinfo chat
iew_ai_hardware_assistance_btn.should(be.visible).should(have.size(1)).first.click()

По селектору находится 2 элемента. Вы ждете видимость первого и кликаете по второму?
источник