Селениум не может стартонуть в связке с Selenoid

webdriver
python
Теги: #<Tag:0x00007f7b70ae49b0> #<Tag:0x00007f7b70ae4870>

(Вадим) #1

Коллеги, привет !

Хочу запустить тесты в Selenoide , browser.json имеет структуру :
{

"chrome" : {

"default" : “71.0” ,

"versions" : {

"70.0" : {

"image" : "selenoid/vnc_chrome : 70.0" ,

"port" : “4444” ,

"path" : "/"

},

"71.0" : {

"image" : "selenoid/vnc_chrome : 71.0" ,

"port" : “4444” ,

"path" : "/"

}

}

},

"firefox" : {

"default" : “64.0” ,

"versions" : {

"63.0" : {

"image" : "selenoid/vnc_firefox : 63.0" ,

"port" : “4444” ,

"path" : "/wd/hub"

},

"64.0" : {

"image" : "selenoid/vnc_firefox : 64.0" ,

"port" : “4444” ,

"path" : "/wd/hub"

}

}

}

Подключаюсь так:
capabilities = {
“browserName”: “chrome”,
“version”: “71.0”,
“enableVNC”: True,
“enableVideo”: True,
“name”: ‘Chrome’,
“tmpfs”: {"/tmp": “size=512m”},
“screenResolution”: “2048x1024x24”

}
driver = webdriver.Remote(
command_executor=“http://localhost:4444/wd/hub”,
desired_capabilities=capabilities)

driver = browser.set_driver(driver) - я использую Selene

При запуске получаю ошибку
E selenium.common.exceptions.WebDriverException: Message: New session attempts retry count exceeded

В чем может быть проблема ?


(Вадим) #2

$curl http://localhost:4444/status

{“total”:5,“used”:0,“queued”:0,“pending”:0,“browsers”:{“chrome”:{“70.0”:{},“71.0”:{}},“firefox”:{“63.0”:{},“64.0”:{}},“opera”:{“56.0”:{},“57.0”:{}}}}


(Nik Sidorenko) #3

Попробуйте убрать эту строку


(Вадим) #4

Не получилось, выдало ошибку :
E selenium.common.exceptions.WebDriverException: Message: Requested environment is not available

Раньше с такой конфигурацией работало, только версия хрома была 69.0 . Может в контейнере с версиями 70 и 71 проблемы ?


(Nik Sidorenko) #5

У меня с этими версиями всё ок. Что в логах контейнера ?

docker logs “selenoid-contianer-id”


(Вадим) #6

2019/01/11 16:05:32 [-] [NEW_REQUEST] [unknown] [my_ip]

2019/01/11 16:05:32 [-] [NEW_REQUEST_ACCEPTED] [unknown] [my_ip]

2019/01/11 16:05:32 [145] [LOCATING_SERVICE] [chrome] [70.0]

2019/01/11 16:05:32 [145] [USING_DOCKER] [chrome] [70.0]

2019/01/11 16:05:32 [145] [CREATING_CONTAINER] [selenoid/vnc_chrome:70.0]

2019/01/11 16:05:32 [145] [STARTING_CONTAINER] [selenoid/vnc_chrome:70.0] [387ac6705febb3e02bda5216d8722f6c431fe2134102d7051d74f003e3aaba23]

2019/01/11 16:05:34 [145] [CONTAINER_STARTED] [selenoid/vnc_chrome:70.0] [387ac6705febb3e02bda5216d8722f6c431fe2134102d7051d74f003e3aaba23] [1.87s]

2019/01/11 16:05:34 [145] [CREATING_VIDEO_CONTAINER] [selenoid/video-recorder:latest-release]

2019/01/11 16:05:35 [145] [STARTING_VIDEO_CONTAINER] [selenoid/video-recorder:latest-release] [d8e762671ec3e0aa7ece342416d74e06bbe93e2355de954f19694b35ea322f04]

2019/01/11 16:05:37 [145] [VIDEO_CONTAINER_STARTED] [selenoid/video-recorder:latest-release] [d8e762671ec3e0aa7ece342416d74e06bbe93e2355de954f19694b35ea322f04] [2.90s]

2019/01/11 16:05:39 [145] [SERVICE_STARTED] [selenoid/vnc_chrome:70.0] [387ac6705febb3e02bda5216d8722f6c431fe2134102d7051d74f003e3aaba23] [2.40s]

2019/01/11 16:05:39 [145] [PROXY_TO] [387ac6705febb3e02bda5216d8722f6c431fe2134102d7051d74f003e3aaba23] [http://172.17.0.4:4444/]

2019/01/11 16:05:39 [145] [SESSION_ATTEMPTED] [http://172.17.0.4:4444/] [1]

2019/01/11 16:06:10 [145] [SESSION_ATTEMPT_TIMED_OUT] [30s]

2019/01/11 16:06:10 [145] [SESSION_FAILED] [http://172.17.0.4:4444/] [New session attempts retry count exceeded]

2019/01/11 16:06:10 [145] [STOPPING_VIDEO_CONTAINER] [d8e762671ec3e0aa7ece342416d74e06bbe93e2355de954f19694b35ea322f04]

2019/01/11 16:06:28 [145] [STOPPED_VIDEO_CONTAINER] [d8e762671ec3e0aa7ece342416d74e06bbe93e2355de954f19694b35ea322f04]

2019/01/11 16:06:28 [145] [REMOVING_CONTAINER] [387ac6705febb3e02bda5216d8722f6c431fe2134102d7051d74f003e3aaba23]

2019/01/11 16:06:29 [145] [CONTAINER_REMOVED] [387ac6705febb3e02bda5216d8722f6c431fe2134102d7051d74f003e3aaba23]

Это нормально что он берет IP [http://172.17.0.4:4444/] ?
Может ли проблема заключаться в малом количестве оперативной памяти на сервере ?


(Nik Sidorenko) #7

Похоже на сетевые проблемы между контейнерами.

Не пробовали тут указывать не localhost, а IP машины?

Если у Вас запущен Selenoid UI, то зайдите и перепроверте capabilities


(Вадим) #8

Он у меня не подтягивает браузеры ( Наверное неправильно сконфигурировал ?


(Nik Sidorenko) #9

Попробуйте провалидировать browsers.json

Как Вы запускаете контейнеры с Selenoid и Selenoid UI (строки запуска)?

Судя по скриншоту Selenoid UI у Вас тоже не видит Selenoid


(Вадим) #10

Все пересобрал, заработало. Спасибо за помощь


(Nik Sidorenko) #11

Не за что. Не забудьте закрыть вопрос. И оставить пару слов для потомков, в чём была проблема.


(Вадим) #12

Причина была в том что контейнеры самого Selenoid и Selenoid-ui, были не связаны друг с другом. Скорей всего порты не правильно прописал. Capability не могло определится и соответственно webdriver не смог стартонуть.