Назад | Перейти на главную страницу

Selenium WebDriverException: сообщение: адрес недоступен при запуске теста Django на сервере jenkins

У меня запущен докер экземпляр AWS EC2. Используя docker-compose, у меня jenkins работают в одном контейнере. У меня есть конвейер Дженкинса, который проверяет мое репо (это приложение Djano с файлом докера). Затем мой конвейер создает образ докера с помощью файла Docker. Это построено на демоне хоста docker, поскольку я сопоставил эти тома в моем файле docker-compose.

volumes:
   - /var/run/docker.sock : /var/run/docker.sock

Образ создан успешно, и я могу запускать команды в этом образе из моего конвейера Дженкинса, используя

img = docker.build(....)
img.inside{
    sh '.....'
}

Но когда я пытаюсь запустить тесты Django, используя

img.inside{
   sh 'python manage.py test'
}

Тесты, наследуемые от TestCase, проходят успешно. Но у меня есть тесты, которые являются подмножествами StaticLiverServerTestCase, они используют селен. Я получаю сообщение об ошибке при попытке инициализировать свой экземпляр Webdriver:

browser = WebDriver()

raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: address not available.

Эти тесты успешно выполняются на той же настройке на моем локальном компьютере.

docker-compose run web python manage.py test

Я предполагаю, что что-то не так с группами безопасности AWS и доступом к портам. LiveServerTestCase может попытаться использовать порт, который не разрешен группой безопасности AWS. Но я попытался включить TCP-доступ ко всем портам из внутреннего трафика, но это тоже не работает.

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