美文网首页
零基础小白(九)Excel用例参数化之是否运行

零基础小白(九)Excel用例参数化之是否运行

作者: 巴鶴 | 来源:发表于2021-01-28 08:41 被阅读0次

    零基础小白 接口自动化测试集锦: https://www.jianshu.com/nb/49125734
    Excel读写: 参考《Excel办公自动化》集锦分享 https://www.jianshu.com/nb/49019927

    实际版本迭代中,如果开发只是优化了部分接口,做回归自动化测试时可以针对优化接口进行重点测试,此时维护的测试用例,可进行筛选,把运行的测试用例设置成‘Y’,只运行标识符是‘Y’的接口测试用例。

    定义Excel各列标识符

    Excel各列标识符.jpg
    #定义类
    class DataConfig:
    #定义列属性
        #用例ID   模块  接口名称    请求URL   前置条件    请求类型    请求参数类型
        #请求参数   预期结果    实际结果    备注  是否运行    headers cookies status_code 数据库验证
        #用例ID
        case_id = "用例ID"
        case_model = "模块"
        case_name = "接口名称"
        url = "请求URL"
        pre_exec = "前置条件"
        method = "请求类型"
        params_type = "请求参数类型"
        params = "请求参数"
        expect_result = "预期结果"
        actual_result = "实际结果"
        is_run = "是否运行"
        headers = "headers"
        cookies = "cookies"
        code = "status_code"
        db_verify = "数据库验证"
    

    定义类、方法获取执行用例

    • 初始化读取Excel测试用例文件和sheet内容
    • 使用excel工具类,获取结果list
    from utils.ExcelUtil import ExcelReader
    import json
    from common.ExcelConfig import DataConfig
    
    class Data:
        def __init__(self,case_file,sheet_name):
        #1、使用excel工具类,获取结果list
            self.reader = ExcelReader(case_file, sheet_name)  #文件名、sheet_name参数化
    
    • 截图参考


      初始化读取Excel测试用例文件和sheet内容.jpg

    根据运行列是否==y,获取测试用例

    • 代码参考
        #2、列是否运行内容,y
        def get_run_data(self):
            """
            根据运行列是否==y,获取测试用例
            :return:
            """
            run_list = list()
            for line in self.reader.data():
                if str(line[DataConfig().is_run]).lower() == "y":   #大小写转换Y
                    # print(line)
                    #print(json.dumps(line, sort_keys=True, ensure_ascii=False, indent=4, separators=(', ', ': ')))  # Json格式打印
                    run_list.append(line)
    Json格式打印
            return run_list
    
    • 截图参考


      根据运行列是否==y,获取测试用例.jpg

    实战读取标识符是Y的测试用例

    • Excel 用例参考图


      标志运行测试用例Y.jpg

    ExcelData.py 代码参考

    # -*- coding: utf-8 -*-
    # @Time : 2021/1/27 13:16
    # @File : ExcelData.py
    # @Author : Yvon_早安阳光
    
    from utils.ExcelUtil import ExcelReader
    import json,os
    from common.ExcelConfig import DataConfig
    from config.Conf import ConfigYaml
    from config import Conf
    
    class Data:
        def __init__(self,case_file,sheet_name):
        #使用excel工具类,获取结果list
            self.reader = ExcelReader(case_file,sheet_name)
    
        # 列表是否运行内容 y
        def get_run_data(self):
    
            '''
            根据运行列是否==y,获取测试用例
            :return:
            '''
            run_list = list()
            # 读取Excel工具类 获取sheet方法
            for line in self.reader.data():
                if str(line[DataConfig.is_run]).lower() == 'y': #大小写转换Y
                    run_list.append(line)
            # print(json.dumps(run_list, sort_keys=True, ensure_ascii=False, indent=4, separators=(', ', ': ')))  # Json格式打印
            return run_list
    
    if __name__ == "__main__":
        case_file = os.path.join(Conf.get_data_path(), ConfigYaml().get_excel_file())  # 拼接路径+文件
        sheet_name = ConfigYaml().get_excel_sheet()
        run_list = Data(case_file,sheet_name)
        data_init = run_list.get_run_data()
        # print(data_init)
        print(json.dumps(data_init, sort_keys=True, ensure_ascii=False, indent=4, separators=(', ', ': ')))  # Json格式打印
    

    打印运行结果

    运行结果.jpg

    相关文章

      网友评论

          本文标题:零基础小白(九)Excel用例参数化之是否运行

          本文链接:https://www.haomeiwen.com/subject/lhmgzktx.html