一、问题发现
本人在做UI自动化时,配置了失败用例重跑,发现失败用例重跑的时候,conftest.py中的夹具函数也会执行一遍,在做ui自动化的时候这是致命的问题----会重新创建driver。
经过多次实验发现,当该失败的用例为要执行的用例的最后一个用例的时候,conftest.py中的夹具函数(函数级别以上)也会执行一遍。
如下面所示:
import pytest
from selenium import webdriver
@pytest.fixture(scope="session")
def func():
driver = webdriver.Chrome()
print("这是前置用例")
yield driver
driver.quit()
print("这是后置用例")
contest.py文件中代码
import pytest
import time
class Test01():
def test01(self,func,data):
self.driver=func
self.driver.get("https://www.baidu.com")
time.sleep(2)
assert