Я использую докер, селен и Django.Я только что понял, что я делал свои тесты на моей производственной базе данных;в то время как я хотел протестировать StaticLiveServerTestCase
самогенерируемую базу данных.
Я пытался следовать этому учебнику
@override_settings(ALLOWED_HOSTS=['*'])
class BaseTestCase(StaticLiveServerTestCase):
host = '0.0.0.0'
@classmethod
def setUpClass(cls):
super().setUpClass()
cls.host = socket.gethostbyname(socket.gethostname())
cls.selenium = webdriver.Remote(
command_executor='http://hub:4444/wd/hub',
desired_capabilities=DesiredCapabilities.CHROME,
)
cls.selenium.implicitly_wait(5)
@classmethod
def tearDownClass(cls):
cls.selenium.quit()
super().tearDownClass()
class MyTest(BaseTestCase):
def test_simple(self):
self.selenium.get(self.live_server_url)
У меня нет ошибок при попытке подключиться кchrome-hub, но когда я пытаюсь напечатать свой page_source, я не в моем приложении django, а в сообщении об ошибке chrome.Вот часть:
<div class="error-code" jscontent="errorCode" jstcache="7">ERR_CONNECTION_REFUSED</div>
Я использую docker-compose 1. Selenium.yml:
chrome:
image: selenium/node-chrome:3.11.0-dysprosium
volumes:
- /dev/shm:/dev/shm
links:
- hub
environment:
HUB_HOST: hub
HUB_PORT: '4444'
hub:
image: selenium/hub:3.11.0-dysprosium
ports:
- "4444:4444"
expose:
- "4444"
app:
links:
- hub
Я думаю, что-то не так в моем файле docker-compose, ноЯ не могу понять, что.
Заранее спасибо!
PS: live_server_url
= http://localhost:8081