20191011-构建我们公司自己的自动化接口测试框架-Util的getTestSuite模块
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
# 读取行号和需要执行的测试用例sheet名字以及执行模式
test_cases_wb = Excel(test_data_excel_path)
test_cases_wb.set_sheet_by_index(1)
test_case_to_be_run_sheet_names = []
for row in test_cases_wb.get_rows_values():
# 如果测试用例是否执行=是,记录当前用例到测试集里面
if row[Test_Suit_is_executed_col_no] is not None and row[Test_Suit_is_executed_col_no].lower() == "y":
#1个序号和1个测试用例sheet名称组成一个元组
#多个元组放入到列表中,组成一个测试用例sheet的集合列表
test_case_to_be_run_sheet_names.append((row[Test_Suit_map_serials_col_no],row[Test_Suit_test_step_sheet_name_col_no],row[Test_Suit_is_executed_mode_col_no]))
# 返回测试集
return test_case_to_be_run_sheet_names
获取测试用例方法:获取主要的测试数据,包括需要,请求方法,请求url,请求头,请求body,断言表,断言词,变量提取表达式,请求名字等,获取到这些数据后需要对这些数据进行处理,参加testdatahandler
def test_cases_from_test_data_sheet(test_data_excel_path,test_data_sheet_name):
"""获取具体测试用例的数据"""
test_cases_wb = Excel(test_data_excel_path)
test_cases_wb.set_sheet_by_name(test_data_sheet_name)
# 读取所有的接口测试用例
test_cases = []
for row in test_cases_wb.get_rows_values():
if row[Test_Case_isExecute_col_no] is not None and row[Test_Case_isExecute_col_no].lower() == "y":
# test_case 匹配api_request(method, baseurl, header, auth, body)5个参数
# test_case = [序号,请求方法,请求url,请求头,授权信息,请求body,断言结果,提取正则表达式]
test_case = row[Test_Case_serials_col_no], row[Test_Case_action_col_no], row[Test_Case_baseurl_col_no],row[Test_Case_header_col_no],row[Test_Case_auth_col_no],row[Test_Case_body_col_no],\
row[Test_Case_assert_content_col_no],row[Test_Case_var_get_col_no],row[Test_Case_assert_word_col_no],row[Test_Case_name_col_no]
test_cases.append(test_case)
# print(test_cases)
# 返回测试关键字
return test_cases
20191011-构建我们公司自己的自动化接口测试框架-Util的getTestSuite模块的更多相关文章
- 20191011-构建我们公司自己的自动化接口测试框架-Util的ClearData模块
cleardata模块主要是用于在每次测试之前清除历史执行痕迹,主要代码如下: from Util.ParseExcel import * from ProVar.ProjConfigVar impo ...
- 20191011-构建我们公司自己的自动化接口测试框架-Util的AssertResult模块
AssertResult主要就是进行结果断言的了,因为断言结果分2种情况,一种是断言词,一种是断言sheet,如果涉及断言sheet,则需要操作excel到对应的断言表断言所有的字段并且书写断言结果主 ...
- 20191011-构建我们公司自己的自动化接口测试框架-Util的TestDataHandler模块
TestDataHandler模块主要是做测试数据的处理,包括转换数据格式和变量参数处理转换数据格式函数: data是数据,data以$()的方式识别变量,如果请求的数据有变量,则将变量用global ...
- 20191011-构建我们公司自己的自动化接口测试框架-Util的htmlreport模块
生成htmlreport的模块是我在网上随意找的一个版本,主要生成的report包括接口名称,接口url,请求数据,响应数据,断言词,断言结果等 具体的htmlreport代码如下: # -*- en ...
- 20191011-构建我们公司自己的自动化接口测试框架-Util的读取excel常用方法模块
包括获取excel的sheet名字,设定excel的sheet,读excel,写excel等常规操作. from openpyxl import Workbook from openpyxl impo ...
- 20191011-构建我们公司自己的自动化接口测试框架-Action的request方法封装
Action模块 封装接口request方法,根据传入的参数调用不同的请求方法,因为项目特色,我们公司的接口都是get和post方法,所以仅仅封装了get和post方法: import request ...
- 20191011-构建我们公司自己的自动化接口测试框架-testrun最重要的模块
testrun模块呢就是最终自动化测试入口,调用前面封装的各个模块主要流程是: 1. 获取测试集种待执行的测试用例 2. 处理测试用例获取的数据,包括转换数据格式,处理数据的中的关联等 3. 处理完数 ...
- 20191011-构建我们公司自己的自动化接口测试框架-ProVar模块
ProVar模块主要定义测试数据所在目录,以及定义变量和测试数据excel里面的column对应这样后续在进行excel操作的时候直接使用变量即可进行操作,后期excel的column有增删的时候,修 ...
- 20191011-构建我们公司自己的自动化接口测试框架-Config配置
Config模块主要是为了存放的一些其他配置等的一个目录,当前目录存放日志配置文件 ################################################ [loggers] ...
随机推荐
- 全国行政区域代码(免费来拿) xls格式 可直接导入
全部区域代码 地址:https://pan.baidu.com/s/1Elz-zW_nLS8YR8GZAn3WRw 提取码:ze3s
- zabbix(9)iterms(监控项)
一.iterms key 监控项按参数来分有两种:带参数和不带参 按定义来分:zabbix自带和用户自定义 1)Key可以带参数,该参数为一个数组列表,可以同时传递多个参数,Key的格式如下: 既Ke ...
- cmake入门之内部构建
https://www.cnblogs.com/coderfenghc/tag/cmake/ https://cmake.org/cmake/help/v3.16/guide/tutorial/ind ...
- Linux Touch命令的8种常见使用方法
Linux touch命令不仅可以用于在Linux上创建空文件. 您可以使用它来更改现有文件的时间戳,包括其访问权限和修改时间. 本文介绍了8种可以通过Linux终端使用touch命令的方案. 我们在 ...
- ML_Review_SVM(Ch9)
Note sth about SVM(Support Vector Machine) 支持向量机(SVM)从入门到放弃再到掌握这篇博客讲得挺仔细. 动机: SVM的中文名字--支持向量机.本质是一 ...
- ML_Review_LDA(Ch5)
Note sth about LDA(Linear Discriminant Analysis) 这篇来说说LDA的复习,LDA在第二次作业的博客中也提及了,但是那是作业思考,所以决定再开一篇只说LD ...
- Go 语言入门(一)基础语法
写在前面 在学习 Go 语言之前,我自己是有一定的 Java 和 C++ 基础的,这篇文章主要是基于A tour of Go编写的,主要是希望记录一下自己的学习历程,加深自己的理解 Go 语言入门(一 ...
- 如何交叉编译curl?
1. 先准备一下openssl库 编译openssl库的方法在此 2. 获取curl源码 wget https://curl.haxx.se/download/curl-7.65.3.tar.gz 2 ...
- ISO/IEC 9899:2011 条款6.4.8——预处理数字
6.4.8 预处理数字 语法 1.pp-number: digit . digit pp-number digit pp-number identifier-nondigit pp- ...
- 关于define('DISCUZ_ROOT', substr(dirname(__FILE__), 0, -7));的理解
关于define('DISCUZ_ROOT', substr(dirname(__FILE__), 0, -7));的理解 define('DISCUZ_ROOT', substr(dirname( ...