Selenium test failed with RuntimeError: Доступ к базе данных не разрешен, используйте метку "django_db" или фиксы "db" или "transactional_db", чтобы разрешить его
Я запускаю тесты с помощью selenium и хочу протестировать панель администратора в django
поэтому я сделал следующие тесты
import pytest
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
#create pytest database with admin credintials
@pytest.mark.selenium
def test_create_admin_user(create_admin_user):
assert create_admin_user.__str__() == "admin"
@pytest.mark.django_db
def test_dashboard_admin_login(live_server, create_admin_user, firefox_browser_instance):
browser = firefox_browser_instance
browser.get(("%s%s" % (live_server.url, "/admin/login")))
username = browser.find_element(By.NAME, 'username')
password = browser.find_element(By.NAME, 'password')
submit = browser.find_element(By.XPATH, '//input[@value = "Log in"]')
username.send_keys("admin")
password.send_keys("admin")
submit.send_keys(Keys.RETURN)
assert "Site administration" in browser.page_source
светильники:
import pytest
@pytest.fixture
def create_admin_user(django_user_model):
"""
Return admin user
"""
return django_user_model.objects.create_superuser("admin", "admin@admin.com", "admin")
confest:
pytest_plugins = [
"core.test_setup.fixtures",
"core.test_setup.selenium",
]
когда я запускаю тесты, оказывается, что 1 прошел, 1 не прошел
переданный test_create_admin_user
и неудачный def test_dashboard_admin_login
Ошибка:
RuntimeError: Database access not allowed, use the "django_db" mark, or the "db" or "transactional_db" fixtures to enable it.