1.实现逻辑:
导包:import pytest →数据源(必须是列表形式)→标记方法@pytest.fixture()→标志方法→定义class类→def定义方法→接口发送请求→断言等等
2.conftest管理配置文件
1、import pytest →数据源(必须是列表形式)→标记方法@pytest.fixture()→标志方法可以作为一个配置文件:conftest
2、conftest文件名就是conf.py,名字是不能改的
3、实例展示:
conftest代码实现逻辑:
import pytest
#定义数据,数据源必须是列表形式,但是列表里面可为字典,亦可为列表
names=[["lex004","123456"],["lex005","234567"],["lex006",345678]]
@pytest.fixture(params=read_excel(names)#names也就是列表名
#对方法进行标记,属于固定写法,username可以自行命名,其他是固定写法
#得到的是对一个列表轮询地读,也就是顺序执行用例
def username(request):
return request.param
#从其他方法引用一个列表:
#从文件夹manage下的py文件test_excel01,导入方法read_excel
from manage.test_excel01 import read_excel
@pytest.fixture(params=read_excel(r"E:\pythonfile\name.xlsx"))
def username(request):
return request.param
3.接口发起请求
1.实例展示:
import json
import requests
import pytest
#定义一个函数
class TestUserManager():
#定义一个函数test_sign_up
def test_sign_up(self,username):
url="http://localhost:8080/admin/register"#接口URL
#body内容
body={"email": "2457882@qq.com",
"icon": "",
"nickName": "lli",
"note": "",
"password": "123456",
"username": "lily000"}
body["username"]=username["name"]
body["password"]=username["pwd"]
r=requests.post(url=url,json=body)
print(r.request.body)#打印请求正文
print(r.text,type(r.text))#打印响应报文
assert r.json()["code"]==username["code"]#断言r.json里面的code值是否等于200
网友评论