如果前置条件中要给用例传递数据怎么办:设置前后置条件时,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) 是个元组