pytest中前置条件给用例方法传递数据
如果前置条件中要给用例传递数据怎么办:设置前后置条件时,yield出来
注意点:如果要在前置条件中传递数据给用例方法,那么不能使用在上面@pytest.mark.userfixtures() 这种方法给用例添加前置后置
from selenium import webdriver import pytest # 设置一个用例级别的前后置条件 @pytest.fixture() def case_fixture(): # 前置 driver = webdriver.Chrome() expected = 200 yield driver, expected # 后置 driver.quit() # @pytest.mark.usefixtures("case_fixture") 这个使用方法,只限于不需要将前置条件中的数据传给用例方法的情况下 class TestLogin02: def test_login_pass(self, case_fixture): # 添加前后置条件case_fixture driver, expected = case_fixture # yield出来几个数据,就用几个参数接收(其实就是元组拆包,如果只要一个可以下标取值,如case_fixture[0]) driver.get("http://www.baidu.com") # 注:driver, expected = case_fixture中的case_fixture长什么样: # (<selenium.webdriver.chrome.webdriver.WebDriver (session="c164c3c0513750c15ff60d2f9de6432e")>, 200) 是个元组