@pytest.fixture(scope="session", autouse=True)
def demo_token():
url = "https://httpbin.org/post"
data = {"username": "admin", "pwd": "123456"}
response = requests.post(url, json=data)
token = "this-is-real-token"
return token
@pytest.fixture(scope="function")
def my_fixture():
print("用例前执行")
token = "this-is-real-token"
yield token
print("用例后执行")
def test_case1(my_fixture):
token = my_fixture
print(f"用例执行,使用token:{token}")
assert 1 == 1
@pytest.fixture(name="header")
def get_headers():
return {"token": "123"}
@pytest.fixture(params=[1, 2, 3])
def data(request):
return request.param
def readexcel():
df = pd.read_excel("c.xlsx")
return df.to_dict(orient="records")
@pytest.mark.parametrize("case", readcsv())
def test_cases(case):
url = case["url"]
method = case["method"].upper()
params = case["params"]
if method == "GET":
resp = requests.get(url, params=params)
elif method == "POST":
resp = requests.post(url, json=params)
assert resp.status_code == int(case["except"])
@pytest.fixture
def token():
return "t123"
@pytest.fixture
def headers(token):
return {"token": token}