首先确保已经安装了插件(使用pip install BeautifulSoup4在线安装)
安装成功!
定义read_param_data方法
def read_param_data(filename, method_name, param_names):
# filename: 参数数据文件的文件名
# method_name: 参数数据文件中定义的测试数据列表的名称
# param_names: 参数数据文件一组测试数据中所有的参数组成的字符串
# 获取测试数据文件的文件路径
file = '''具体文件路径''' + filename
test_case_data = []
with open(file, encoding="utf-8") as f:
# 将json字符串转换为字典格式
file_data = json.load(f)
# 获取所有的测试数据的列表
test_data_list = file_data.get(method_name)
for test_data in test_data_list:
# 先将test_data对应的一组测试数据,全部读取出来,并生成一个列表
test_params = []
for param in param_names.split(","):
# 依次获取同一组测试数中每个参数的值,添加到test_params中,形成一个列表
test_params.append(test_data.get(param))
# 每完成一组测试数据的读取,就添加到test_case_data后,直到所有的测试数据读取完毕
test_case_data.append(test_params)
print("test_case_data = {}".format(test_case_data))
return test_case_data
例如传入imgVerify.json文件,具体内容如下
{
"test_get_img_verify_code": [
{
"desc": "用例描述",
"type": "float",
"status_code": 200
},
{
"desc": "用例描述",
"type": "int",
"status_code": 200
},
{
"desc": "用例描述",
"type": "null",
"status_code": 404
},
{
"desc": "用例描述",
"type": "char",
"status_code": 400
}
]
}
在具体方法上加上
@parameterized.expand(read_param_data("imgVerify.json", "test_get_img_verify_code", "type,status_code"))
具体方法传入type和status_code即可在方法中使用



