#python #selenium #flask #testing #pytest
#python #селен #flask #тестирование #pytest
Вопрос:
Я пишу автоматические тесты пользовательского интерфейса для своего приложения Flask, используя Selenium и LiveServerTestCase из Flask testing.
Вот как у меня все настроено:
conftest.py
import pytest
from selenium import webdriver
@pytest.yield_fixture(scope="session")
def chrome_browser():
browser = webdriver.Chrome()
yield browser
browser.quit()
test_main_page.py
from app import create_app
from flask_testing import LiveServerTestCase
import multiprocessing
class TestMainPage(LiveServerTestCase):
multiprocessing.set_start_method("fork")
def create_app(self):
app = create_app()
app.config['TESTING'] = True
app.config.update(LIVESERVER_PORT=9898)
return app
def test_main_page(self, chrome_browser):
driver = chrome_browser
assert 1 == 1
Запуск Pytest дает мне следующее исключение:
FAILED test_main_page.py::TestMainPage::test_main_page - TypeError: test_main_page() missing 1 required positional argument: 'chrome_browser'
При удалении LiveServerTestCase из класса TestMainPage приспособление chrome_browser работает просто отлично.
Как я могу использовать как LiveServerTestCase, так и Pytest fixtures?
Спасибо