在工具类(utils)文件夹中创建类:
# 导包
import requests
# 1.创建类
class Request:
# 2.定义公共方法
def request_api(self,url,json=None,headers=None,method="get"): # method="get" → 假如不传参数method的时候默认get请求
# 增加方法参数,根据参数验证请求方法
if method == "get":
r = requests.get(url,json,headers=headers)
elif method == "post":
r = requests.post(url,json,headers=headers)
# post与get重复部分内容(公共方法)
code = r.status_code
try:
body = r.json()
except Exception as e:
body = r.text
res = dict()
res["code"] = code
res["body"] = body
return res
# 3.重构get/post方法
# 1)定义方法和参数
def get(self,url,**kwargs): # **kwargs可以有很多种类的参数,如json,data等
# 2)调用公共方法
return self.request_api(url,method="get",**kwargs)
def post(self,url,**kwargs):
return self.request_api(url,method="post",**kwargs)
在测试用例文件中使用封装的方法(后期更改参数等只需要在工具类里面更改即可)
from utlis.requestsutli import Request
# 登录
def login():
# 定义测试数据
url = "https://be**m/login"
data = {"username":"13**0460","password":"a**23"}
# 发送POST请求
request = Request()
r = request.post(url,json=data)
# 输出结果
print(r)
# 查询列表
def list():
url1 = "https://b**
data1 = {"page":"1","size":"10","history":"0"}
headers={
"Cookie":"kaptcha_mer=kapt**a4c",
"token":"eyJ**EyBw"
}
request = Request()
r = request.get(url1,headers=headers)
print(r)
if __name__ == '__main__':
login()
# list()