小编Jay*_*ers的帖子

如何在 pytest 会话结束时清理资源?

我有一套硒端到端测试。我实例化一个webdriver.ChromeDriver实例,并将其作为套件中每个测试的固定装置传递。

'''python3
@pytest.fixture(scope="session")
def driver(request):
    return d(request)
'''
Run Code Online (Sandbox Code Playgroud)

最后一次测试运行后,我想用 关闭 webdriver 实例driver.quit()

我可以用一个固定装置来完成这个

@pytest.hookimpl(trylast=True)
def close_after_test_suite(driver, requests):
    if requests:
        driver.quit()
Run Code Online (Sandbox Code Playgroud)

然而,只有当测试在套件期间没有失败时才会运行。如果每个测试都通过,浏览器将关闭。如果单个测试失败,则浏览器将保持打开状态。

无论测试是否失败,如何使用 pytest 在测试套件结束时关闭浏览器?

python selenium pytest

7
推荐指数
1
解决办法
1540
查看次数

标签 统计

pytest ×1

python ×1

selenium ×1