importrequestsimportos, jsonfrom common.writeExcel import Write_excel #写入excel模块
from common.logger import Log #打印日志模块
classAnalysisJson:"""swagger自动生成测试用例"""
def __init__(self):
url_json= ‘http://dev.sign.xxbmm.com/v2/api-docs?group=sign-api‘ #json swagger url地址
r =requests.get(url_json).json()
self.data= r[‘paths‘] #paths中的数据是有用的
self.json_path =os.path.abspath(
os.path.dirname(os.path.dirname(__file__))) + ‘\\case_generate‘ + ‘\\data‘ + ‘\\data.json‘ #json file path
self.excel_path =os.path.abspath(
os.path.dirname(os.path.dirname(__file__))) + ‘\\case_generate‘ + ‘\\data‘ + ‘\\demo_api.xlsx‘ #case path
self.interface_params ={}
self.log=Log()
self.row= 2 #写入excel起始行数
self.num = 1 #case id
self.case = {‘1‘: 3, ‘2‘: 5, ‘3‘: 7, ‘4‘: 9} #参数为空,错误的情况 目前可以获取到的参数,最多4个,有9种简单的异常情况
defretrieve_data(self):globalbody_name, methodfor k, v inself.data.items():
method_list=[]for _k, _v inv.items():
interface={}if not _v[‘deprecated‘]: #接口是否被弃用
method_list.append(_k)
api= k #api地址
if len(method_list) > 1: #api地址下的请求方式不止一个的