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)  是个元组

 



 
posted @ 2022-01-11 23:48  2orange  阅读(336)  评论(0编辑  收藏  举报