python接口测试框架,页面设计
页面设计2022.2.7
目录结构:
包:
base:存储基础代码,主要是底层方法的封装
page:对象层,把每个行为写成一个单独的函数
test:测试层,编写具体的测试代码
common:公共类,比如针对文件的路径处理
utils:工具类
文件夹:
data:存储测试数据
config:存储配置文件
report:存储测试报告
封装方法
import requests class Requests: def request(self,url,method='get',**kwargs): if method=='get': return requests.request(url=url,method=method,**kwargs) elif method=='post': return requests.request(url=url,method='post',**kwargs) elif method=='put': return requests.request(url=url,method='put',**kwargs) elif method=='delete': return requests.request(url=url,method='delete',**kwargs) def get(self,url,**kwargs): return self.request(url=url,**kwargs) def post(self,url,**kwargs): return self.request(url=url,method='post',**kwargs) def put(self,url,**kwargs): return self.request(url=url,method='put',**kwargs) def delete(self,url,**kwargs): return self.request(url=url,method='delete',**kwargs)
公共部分
路径处理
import os "路径拼接,定义数据的文件目录,文件目录是公共的,目录下的数据是可变的" def base_dir(): return os.path.dirname(os.path.dirname(__file__)) #查找上级目录 # return os.path.dirname(__file__) #查找本级目录 print(base_dir()) def filepath(direct='data',filename=None): return os.path.join(base_dir(),direct,filename)
数据驱动——请求参数
登录的数据写的json文件
登录
from zeroAPI.base.method import Requests from zeroAPI.utils.oprationJSON import readJSON #导入读取JSON文件 obj=Requests() def auth(): "登录" r=obj.post(url="http://47.95.142.233:8000/login/auth/",json=readJSON()['login']) print(r.text) #打印响应数据 auth()
数据驱动——请求地址
地址写到yaml文件
操做Yama文件
登录,数据驱动后的
执行测试