@pytest.mark.parametrize(arg_name, arg_value)
arg_name:参数名称,用于将参数值传递给测试用例
arg_value:参数值(支持列表、字典列表、元组和字典元组),有n个值,那么测试用例就将执行n次
- @pytest.mark.parametrize("module_list", ["商品搜索", "商品详情", "购物车"])
- def test_interface_01(self, module_list):
- print(f'第一个{module_list}模块接口测试用例')
- @pytest.mark.parametrize("arg1,arg2", [["name", "tom"], ["age", 23]])
- def test_interface_01(self, arg1,arg2):
- print(f'第一个{str(arg1)+":"+str(arg2)}模块接口测试用例')
yaml是一种数据格式,扩展名可以是yaml.yml,支持#注释,通过缩进表示层级,区分大小写、
yaml读取出来之后是一个字典列表
用途:
用于做配置文件
用于编写自动化测试用例
数组组成
1.map对象:键值对(键和值之间有空格)
name: Tom
2.数组(list):使用‘-’表示列表
- books:
- - book1:
- - price: 34
- - book2: 平凡的世界
- - book3: 十日谈
测试用例执行完成后,每个测试用例都有自己的状态,常见的状态有:
passed:测试用例通过 error:断言失败 failed:用例本身代码报错(例如:fixture不存在,fixture里有报错) xfail:预期失败,加了@pytest.mark.xfail();代码有异常,且和raised的异常类匹配,所以是xfail(算测试通过的一种,表示符合期望捕捉到的异常),并不算failed;如果和raised的异常类不匹配,则是failed
测试用例的代码有异常,包括主动抛出异常或者代码有异常,都算failed 当测试用例调用的fixture有异常,或传入的参数有异常的时候,都算error 如果一份测试报告中,error的测试用例数量越多,说明测试用例质量越差