Используйте приспособление Pytest с Flask-тестирование LiveServerTestCase

#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?

Спасибо