StaticLiveServerTestCase с Selenium: ERR_CONNECTION_REFUSED
Я запускаю стандартный фрагмент из docs для тестирования с помощью selenium, но использую драйвер Chrome. Когда я запускаю тесты с помощью python manage.py test
, он не может подключиться к серверу, кажется, что он не запускается, выдавая ошибку ::ERR_CONNECTION_REFUSED
. Есть идеи?
Вот фрагмент:
from django.contrib.staticfiles.testing import StaticLiveServerTestCase
from selenium import webdriver
class MySeleniumTests(StaticLiveServerTestCase):
# fixtures = ['user-data.json']
@classmethod
def setUpClass(cls):
super().setUpClass()
cls.selenium = webdriver.Chrome(executable_path='./chromedriver')
cls.selenium.implicitly_wait(10)
@classmethod
def tearDownClass(cls):
cls.selenium.quit()
super().tearDownClass()
def test_login(self):
self.selenium.get('http://localhost:8000/accounts/login')
Почему в test_login url жестко закодирован (localhost:8000)? Поскольку вы используете LiveServerTestCase, вы могли бы получить доступ к базовому URL сервера с помощью self.live_server_url
. Об этом также говорится в документации, ссылку на которую вы добавили в описание. Ошибка отказа в подключении, скорее всего, возникает из-за жестко закодированного URL по одной из следующих причин:
- Ни один сервер или служба не активны на порту 8000
- Настройка происхождения не разрешает соединение, хотя это полностью зависит от настроек.