当前位置:首页 > 自动化 > 正文

接口自动化pytest框架简介

I、pytest系列之参数化、yaml和测试用例的执行状态1.parametrize()实现方法参数1.1数据驱动详解

@pytest.mark.parametrize(arg_name,arg_value)

arg_name:参数名称,用于向测试用例发送参数值

arg_value:参数值(支列表、字典列表、元组和字典元组),如果有n个值,则测试用例将执行n次

1.2使用细节1.2.1直接传递[email protected]("module_list",["产品搜索","产品详情","购物车"])deftest_01interface(self,module_list):print(f'模块接口测试{module_list}第一种情况')1.2.2解压并传递值@pytest.mark.parametrize("arg1,arg2",[["name","tom"],["age",23]])deftest_interface_01(self,arg1,arg2):print(f'第一个{str(arg1)+":"+str(arg2)}模块接口测试用例')2、yaml格式的测试用例

yaml是yaml-able的数据和扩展格式。 yml,支#注释,使用缩进表示级别,区分大小写,

yaml读取后是一个字典列表

用法:

用于创建配置文件

用于写自动化测试用例

数组组成

1.map对象:键值对(键与值之间有空格)value)

name:Tom

2数组(列表):使用'-'表示列表

books:-book1:-price:34-book2:TheOrdinary。 World-book3:十日谈3.例执行状态测试用例

测试用例执行完成后,每个测试用例正常状态为:

passed:错误通过测试用例:断言failedfailed:例代码使用本身报错(例如:fixture不存在,fixture中有错误)xfail:预期失败,添加@pytest.mark.xfail();异常,并且与引发的异常的类匹配,因此是xfail(一种通过的测试,表示期望捕获该异常)并且不会失败,如果与引发的异常的类不匹配,则失败;

如果测试用例代码中存在异常,包括抛出异常或者代码中存在主动异常,都会算作失败。 传入的参数有异常,会计为错误。 在测试报告中,错误测试用例的数量越多,测试用例的质量越差。