首先,我知道带有类的烧瓶测试库,LiveServerTestCase
但它自 2017 年以来一直没有更新,而且 GitHub 充满了它在 Windows 或 MacO 上都不起作用的问题,而且我还没有找到任何其他解决方案。
我正在尝试使用 selenium 为烧瓶应用程序编写一些测试来验证此应用程序中的 FlaskForms。
像这样的简单测试:
def test_start(app):
driver.get("http://127.0.0.1:5000/endpoint")
authenticate(driver)
落在selenium.common.exceptions.WebDriverException: Message: unknown error: net::ERR_CONNECTION_REFUSED
错误上。(据我了解,在我的案例中,应用程序在 @pytest.fixtures 中创建并立即关闭,我需要找到一种方法让它在整个测试期间保持运行)
我的问题是:是否可以在每个测试中创建一些将继续工作的实时服务器,以便我可以通过 selenium 调用 API 端点?
简单的固定装置,如果它有帮助:
@pytest.fixture
def app():
app = create_app()
...
with app.context():
# creating db
...
yield app
还:
@pytest.fixture
def client(app):
"""Test client"""
return app.test_client()