我有一套端到端的测试。我实例化了一个webdriver.ChromeDriver
实例,作为fixture传递给套件中的每个测试。你知道吗
'''python3
@pytest.fixture(scope="session")
def driver(request):
return d(request)
'''
在最后一次测试运行之后,我想用driver.quit()
关闭webdriver实例。你知道吗
我可以用固定装置来完成
@pytest.hookimpl(trylast=True)
def close_after_test_suite(driver, requests):
if requests:
driver.quit()
但是,只有在套件中测试没有失败时才会运行。如果每个测试都通过,浏览器将关闭。如果单个测试失败,那么浏览器将保持打开状态。你知道吗
无论测试是否失败,如何在测试套件结束时使用pytest关闭浏览器?你知道吗
如果要在拆卸时运行某些代码,请使用
yield
而不是return
,例如:但是,
selenium.webdriver.WebDriver
类实现了上下文管理器魔术方法,因此您还可以使用with
语句:另一个(虽然很旧,但仍然有效)选项是使用^{} 选项:
相关问题 更多 >
编程相关推荐