零基础小白 接口自动化测试集锦: 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格式打印
网友评论