testrun模块呢就是最终自动化测试入口,调用前面封装的各个模块主要流程是: 1. 获取测试集种待执行的测试用例 2. 处理测试用例获取的数据,包括转换数据格式,处理数据的中的关联等 3. 处理完数据后发生request,获取返回结果,同时处理返回结果 4. 处理返回结果包括断言结果列表,提取变量,获取测试报告所需内容等 代码如下: from ProVar.ProjConfigVar import * from Util.getTestSuit import * from Action.Key…
Action模块 封装接口request方法,根据传入的参数调用不同的请求方法,因为项目特色,我们公司的接口都是get和post方法,所以仅仅封装了get和post方法: import requests import json from Util.Log import * import traceback def api_request(method,baseurl,header,auth,body,test_case_name): """Action关键字,通过method…
cleardata模块主要是用于在每次测试之前清除历史执行痕迹,主要代码如下: from Util.ParseExcel import * from ProVar.ProjConfigVar import * from Util.Log import * def clear(): """清除测试集,测试用例,断言表的上次执行数据""" info("开始清除最后执行历史————————————————————————") exc…
AssertResult主要就是进行结果断言的了,因为断言结果分2种情况,一种是断言词,一种是断言sheet,如果涉及断言sheet,则需要操作excel到对应的断言表断言所有的字段并且书写断言结果主要方法如下: from Util.ParseExcel import * from ProVar.ProjConfigVar import * import re from Util.Log import * import traceback def assert_result(excel_inst…
TestDataHandler模块主要是做测试数据的处理,包括转换数据格式和变量参数处理转换数据格式函数: data是数据,data以$()的方式识别变量,如果请求的数据有变量,则将变量用global_vars中对应的变量值替换 global_vars是在测试执行的时候存储实时变量的参数,global_vars是一个字典 def data_handler(data,global_vars): """前置数据处理""" # 使用while循环处理请…
getTestSuite主要是用于在testData里面获取测试集以及对应的测试数据,包括2个主要的方法,一个是获取测试集,一个是获取测试集里面要执行的测试用例 获取测试集方法: from Util.ParseExcel import * from ProVar.ProjConfigVar import * from Util.Log import * def get_test_case_sheet_names(test_data_excel_path): # 读取测试集里面要测试的sheet…
生成htmlreport的模块是我在网上随意找的一个版本,主要生成的report包括接口名称,接口url,请求数据,响应数据,断言词,断言结果等 具体的htmlreport代码如下: # -*- encoding:utf-8 -*- from bottle import template def report_html(data,html_name): template_demo = """ <!-- CSS goes in the document HEAD or a…
包括获取excel的sheet名字,设定excel的sheet,读excel,写excel等常规操作. from openpyxl import Workbook from openpyxl import load_workbook from openpyxl.styles import colors, Font import locale, time class Excel(object): def __init__(self, excel_file_path): self.excel_fil…
ProVar模块主要定义测试数据所在目录,以及定义变量和测试数据excel里面的column对应这样后续在进行excel操作的时候直接使用变量即可进行操作,后期excel的column有增删的时候,修改ProVar里面的的变量即可,无需逐一每一个涉及到excel column行数对应的代码文件. import os.path PardirPath= os.path.dirname(os.path.dirname(__file__)) ExceldirPath = PardirPath+"\\Te…
Config模块主要是为了存放的一些其他配置等的一个目录,当前目录存放日志配置文件 ################################################ [loggers] keys=root,example01,example02 [logger_root] level=DEBUG handlers=hand01,hand02 [logger_example01] handlers=hand01,hand02 qualname=example01 propagate…