1、使用介绍
数据驱动的目的是将测试数据和用例逻辑进行分离,提高代码的重用率,以及用例的维护,关于数据驱动,有几种常用的使用方法:
- 支持使用py文件、json文件、yaml文件,excel文件来生成测试用例,
- 今天主要介绍下json文件的使用方法。
2、json文件
- 统一使用登录接口来,来编写测试用例
步骤:
- 使用ddt装饰测试用例类
- 根据数据存储的方式,选择对应的方法进行传入用例数据(选择json格式)
- 接口用例保存在json文件中,来实现数据驱动,使用json时,直接传入json文件的路径即可
3、封装json方法供测试用例读取数据调用
# 创建jsonload.py
def json_data(filepath)
"""
:param filepath: yaml文件路径
"""
def json_list(case):
try:
with open(file_path, "r", encoding="utf-8") as f:
datas = json.load(f)
except:
with open(file_path, "r", encoding="gbk") as f:
datas = json.load(f)
setattr(case, "PARAMS", datas)
return case
return json_list
4、json文件中的数据格式如下:
[
{
"title": "登录成功,正确的手机号和密码",
"data": {"userName": "17603052589", "password": "yu66666"},
"expected": {"resultCode":1000, "resultMsg": "操作成功"},
"id": "1",
"url": "/user/getToken",
"method": "post",
"status_code": "200"
},
{
"title": "登录成功,正确的手机号和密码",
"data": {"userName": "17603052589", "password": "yu66666"},
"expected": {"resultCode":1000, "resultMsg": "操作成功"},
"id": "1",
"url": "/user/getToken",
"method": "post",
"status_code": "200"
}
]
实例:
import ddt
from Public.jsonload import json_data
@ddt
class Test_Login(unittest.TestCase):
@json_data('json文件路径')
def test_login(self, data):
pass