pytest-selenium:pytest_selenium_capture_debug 测试失败时未触发挂钩

pytest-selenium: pytest_selenium_capture_debug hook is not fired on test failure

我使用 pytest 和 selenium 为 Web 应用程序进行端到端测试。一切都很好,但有一件事我花了一天时间在网上搜索,但我无法弄清楚。

我无法让 pytest_selenium_capture_debug 工作。我把它放在测试源的根目录中的 conftest.py 中。测试在 docker 容器内 运行。 Firefox 运行s 与 xvfb-run。我录制屏幕视频,如果测试失败,我想把它复制到主机上。

我使用 python 3.6.11 并且这些库版本是

pytest==6.2.4
pytest-base-url==1.4.2
pytest-helpers-namespace==2021.4.29
pytest-html==3.1.1
pytest-lazy-fixture==0.6.3
pytest-metadata==1.11.0
pytest-repeat==0.9.1
pytest-selenium==2.0.1
pytest-variables==1.9.0
selenium==3.141.0

使用 custom_selenium 夹具引起的问题。为了使所有 pytest-selenium 挂钩正常工作,有必要使用 pytest-selenium 定义的 selenium 固定装置,如下所示。

@pytest.fixture
def logged_in_selenium(selenium):
    ...