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模块的更多相关文章

  1. 20191011-构建我们公司自己的自动化接口测试框架-Util的ClearData模块

    cleardata模块主要是用于在每次测试之前清除历史执行痕迹,主要代码如下: from Util.ParseExcel import * from ProVar.ProjConfigVar impo ...

  2. 20191011-构建我们公司自己的自动化接口测试框架-Util的AssertResult模块

    AssertResult主要就是进行结果断言的了,因为断言结果分2种情况,一种是断言词,一种是断言sheet,如果涉及断言sheet,则需要操作excel到对应的断言表断言所有的字段并且书写断言结果主 ...

  3. 20191011-构建我们公司自己的自动化接口测试框架-Util的TestDataHandler模块

    TestDataHandler模块主要是做测试数据的处理,包括转换数据格式和变量参数处理转换数据格式函数: data是数据,data以$()的方式识别变量,如果请求的数据有变量,则将变量用global ...

  4. 20191011-构建我们公司自己的自动化接口测试框架-Util的htmlreport模块

    生成htmlreport的模块是我在网上随意找的一个版本,主要生成的report包括接口名称,接口url,请求数据,响应数据,断言词,断言结果等 具体的htmlreport代码如下: # -*- en ...

  5. 20191011-构建我们公司自己的自动化接口测试框架-Util的读取excel常用方法模块

    包括获取excel的sheet名字,设定excel的sheet,读excel,写excel等常规操作. from openpyxl import Workbook from openpyxl impo ...

  6. 20191011-构建我们公司自己的自动化接口测试框架-Action的request方法封装

    Action模块 封装接口request方法,根据传入的参数调用不同的请求方法,因为项目特色,我们公司的接口都是get和post方法,所以仅仅封装了get和post方法: import request ...

  7. 20191011-构建我们公司自己的自动化接口测试框架-testrun最重要的模块

    testrun模块呢就是最终自动化测试入口,调用前面封装的各个模块主要流程是: 1. 获取测试集种待执行的测试用例 2. 处理测试用例获取的数据,包括转换数据格式,处理数据的中的关联等 3. 处理完数 ...

  8. 20191011-构建我们公司自己的自动化接口测试框架-ProVar模块

    ProVar模块主要定义测试数据所在目录,以及定义变量和测试数据excel里面的column对应这样后续在进行excel操作的时候直接使用变量即可进行操作,后期excel的column有增删的时候,修 ...

  9. 20191011-构建我们公司自己的自动化接口测试框架-Config配置

    Config模块主要是为了存放的一些其他配置等的一个目录,当前目录存放日志配置文件 ################################################ [loggers] ...

随机推荐

  1. iptables----sport、dport解释

    以前一直对iptables的sport.dport不清楚,所以这里记录一下. (1)清理防火墙: iptables -F iptables -X iptables -Z (2)iptables命令选项 ...

  2. Vue中的动画效果

    Vue 在插入.更新或者移除 DOM 时,提供多种不同方式的应用过渡效果.包括以下工具: 在 CSS 过渡和动画中自动应用 class 可以配合使用第三方 CSS 动画库,如 Animate.css ...

  3. LeetCode31 Next Permutation and LeetCode60 Permutation Sequence

    Implement next permutation, which rearranges numbers into the lexicographically next greater permuta ...

  4. OR(Convex_Optimization_读书杂记)

      今天心血来潮,看了一下ConvexOptimization,看到一开始描述直线的部分,真的感觉翻译得很棒.$$ y = \theta x_1 + (1-\theta) x_2 \qquad x1, ...

  5. Error: unable to load xmlsec-openssl library

    yum install libxml2-devel xmlsec1-devel xmlsec1-openssl-devel libtool-ltdl-devel

  6. Oracle 存储过程—为数传递变量

    oracle 存储过程的基本语法create or replace procedure proc1( p_para1 varchar2, p_para2 out varchar2, p_para3 i ...

  7. SQL-W3School-高级:SQL 数据库

    ylbtech-SQL-W3School-高级:SQL 数据库 1.返回顶部 1. 现代的 SQL 服务器构建在 RDBMS 之上. DBMS - 数据库管理系统(Database Managemen ...

  8. 骑行川藏--新都桥&塔公草原

    新都桥 塔公草原 新都桥,位于四川省甘孜藏族自治州康定市西部地区,距市区81公里: 别名:东俄罗,一个镇名.海拔约3300米,没有突出的标志性景观,沿线有10余公里被称为“摄影家走廊”. 神奇光线,无 ...

  9. Rabbitmq Plugin configuration unchanged. 问题完全解决方案

    当执行:rabbitmq-plugins.bat enable rabbitmq_management 命令时候出现 错误如下: Plugin configuration unchanged. App ...

  10. 28 Flutter 轮播图 flutter_swiper

    中文地址: https://github.com/best-flutter/flutter_swiper/blob/master/README-ZH.md 基本参数 参数 默认值 描述 scrollD ...