Selenium WebDriverException: Сообщение: адрес недоступен при запуске теста Django на сервере jenkins. - PullRequest
0 голосов
/ 28 апреля 2019

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

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

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

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 ко всем портам из внутреннего трафика, но это также не работает.

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

...