1、使用介绍
数据驱动的目的是将测试数据和用例逻辑进行分离,提高代码的重用率,以及用例的维护,关于数据驱动,有几种常用的使用方法:
- py文件、json文件、yaml文件,excel文件来生成测试用例,
- 今天主要介绍下py文件的使用方法。
2、py文件
- 统一使用登录接口来,来编写测试用例
步骤:
- 使用ddt装饰测试用例类
- 根据数据存储的方式,选择对应的方法进行传入用例数据(选择py格式)
- 接口用例保存在py文件中,来实现数据驱动,使用py文件时,直接传入文件的路径
3、封装py方法供测试用例读取数据调用
# 创建pyload.py
def py_data(dates)
"""
:param dates: 测试数据,列表嵌套字典
"""
def py_list(py_dates):
setattr(py_dates, "PARAMS", datas)
return py_dates
return py_list
4、py文件中的数据格式如下:
# 用例数据的格式:列表嵌套字典
cases = [
{
'title': '登录成功,正确的手机号和密码',
'data': {"userName": "17603052589", "password": "yu66666"},
'expected': {"resultCode": 1000, 'resultMsg': "操作成功"},
'id': '1',
'url': '/user/getToken',
'method': 'post',
'status_code': '200'
},
{
"title": "登录失败,手机号错误,密码正确",
"data": {"userName": "17603051258", "password": "yu66666"},
"expected": {"resultCode": 3005, "resultMsg": "账号不存在!"},
"id": "2",
"url": "/user/getToken",
"method": "post",
"status_code": "200"
}
]
实例:
import ddt
from Public.pyload import py_data
from TesatData.login import cases # 测试数据
@ddt
class Test_Login(unittest.TestCase):
@list_data(cases)
def test_login(self, data):
pass