zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    守护进程(Daemon)
    Socket select的用法
    被误解的C++——磨刀不误砍柴工
    C++ 虚函数表解析
    进程间通信IPC
    pthread_join函数及linux线程
    详细讲解C++ 类的继承
    Trilogy公司的笔试题
    linux下fork的使用
    Ruby 编程规范
  • 原文地址:https://www.cnblogs.com/hyj691001/p/11654819.html
Copyright © 2011-2022 走看看