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

2021-01-28  本文已影响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 = "数据库验证"

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

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参数化

根据运行列是否==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的测试用例

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
上一篇下一篇

猜你喜欢

热点阅读