前言
在做自动化之前,先写接口功能用例,不然接下来的步骤都无任何意义,pytest测试用例的依据是接口测试用例。
一、接口功能测试用例
接口的功能用例跟功能测试用例大同小异,功能测试用例是根据需求文档去设计的,而接口功能测试用例是根据接口文档进行设计的,我常用的模板如下:
二、pytest测试用例
示例如下:
test_file = os.path.join(Conf.get_data_path(), GlobalConfig.getAddResource())
inData = YamlReader(test_file).data_all()
@allure.title("输入正确的必填项参数,请求成功")
@pytest.mark.parametrize("inData", inData)
def test_add_backup_resource(self, login_fixture, inData):
"""
用例描述:添加配置节点数据库信息,提交
:param login_fixture: 登录前置
:param inData: 数据源信息、数据库信息
"""
#登录前置操作
session = login_fixture
#需要测试的接口,这里进行调用,且传参
mysql_nodes_submit = MysqlAllBackup().add_backup_resource(session, inData)
#断言,查看返回数据与测试数据是否一致
assert mysql_nodes_submit["data"]["resource_data"]["name"] == inData[0]["expect"]["resrc_name"]
用例规则:
-
模块名必须以test_开头或_test结尾
-
测试类必须以Test开头且不能有init方法
-
测试方法必须以test开头
用例实现流程:
1、声明是测试用例
2、调用要测试的接口
3、准备测试数据
4、断言,对准备的测试数据跟返回的数据对比,看是否一致