Задать вопрос
@SuperTester777

Как выставить для selenide, находящейся в докер контейнере, timeout?

Проблема в том, что автотесты, у которых стоит в некоторых шагах ожидание более 60сек, падают с webdriverexception.
Вычитал, что проблема в том, что если не было в течение 60сек запросов к selenium api, то сессия принудительно прерывается.
Этим параметром можно управлять. Выставляется он как то типа того, но такая команда для меня не подходит:
sudo ./cm_linux_amd64 selenoid start --args "-session-attempt-timeout 5m -service-startup-timeout 5m"

В официальной документации селениды непонятно, как этот таймаут ставить, какой командой.

Также не могу попасть в докер контейнер. На команду docker exec -it 9f26edbf7560 bash или docker exec -it 9f26edbf7560 sh получаю ошибку:
rpc error: code = 2 desc = oci runtime error: exec failed: container_linux.go:247: starting container process caused "exec: \"bash\": executable file not found in $PATH"


Вопросов в итоге три.
1. Какова должна быть последовательность действий того, чтобы выставить нужный таймаут?
2. Какой командой в итоге нужно выставить таймаут?
3. Разновидностей таймаута несколько?
  • Вопрос задан
  • 759 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
Oxyd
@Oxyd
Linux enthusiast
Может быть вас документация на selenium на что-то натолкнёт?
java -jar selenium-server-standalone-{VERSION}.jar -timeout=20 -browserTimeout=60

Если селенид основан на селениум сервер, то по идее должно.
Хотя и дока по селениду говорит нечто другое, чем то что вы написали...
-Dselenide.timeout=10000
Значение в миллисекундах.
Configuration settings for Selenide default browser
This class is designed so that every setting can be set either via system property or programmatically.
Please note that all fields are static, meaning that every change will immediately reflect in all threads (if you run tests in parallel).
These system properties can be additonally used having effect on every new created browser in test. For example as -D= in command-line

chromeoptions.args - Sets the arguments for chrome options, parameters are comma separated If comma is a part of the value, use double quotes around the argument Non-official list of parameters can be found at https://peter.sh/experiments/chromium-command-line... Example: --no-sandbox,--disable-3d-apis,"--user-agent=Firefox 45, Mozilla"

chromeoptions.prefs - Sets the preferences for chrome options, which are comma separated keyX=valueX preferences. If comma is a part of the value, use double quotes around the preference List of preferences can be found at https://chromium.googlesource.com/chromium/src/+/m... Example: homepage=http://google.com,"intl.allowed_languages=en,ru,es"


В контейнер вам не войти по той простой причине что в контейнере попросту отсутствует интерактивная оболочка, о чём докер вам честно отписался.
И да... Альфа-Банк спалился. ;-)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы