pytest系列之参数化

简介:   @pytest.mark.parametrize(arg_name, arg_value)  arg_name:参数名称,用于将参数值传递给测试用例  arg_value:参数值(支持列表、字典列表、元组和字典元组),有n个值,那么测试用例就将执行n次

  @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的测试用例数量越多,说明测试用例质量越差

目录
相关文章
|
6月前
|
测试技术
Pytest参数化用例
`Pytest`的参数化功能用于通过参数生成和执行多个测试用例。使用`@pytest.mark.parametrize`装饰器,可传入不同数据,如单参数或多个参数,并可设置`ids`为用例命名。例如,一个搜索功能测试会根据提供的关键词列表动态生成用例。另外,通过创建`conftest.py`文件并定义函数,可以显示中文用例名称。同时,可以利用笛卡尔积实现更复杂的参数组合。
|
测试技术 数据处理
Pytest参数化详解-上
Pytest参数化详解-上
61 0
|
测试技术
25-pytest-参数化生成用例标题
25-pytest-参数化生成用例标题
25-pytest-参数化生成用例标题
|
测试技术 数据处理
Pytest参数化详解-下
Pytest参数化详解-下
98 0
|
测试技术 Python
pytest--运行指定的测试和参数化
pytest--运行指定的测试和参数化
|
测试技术
09-pytest-parametrize参数化
09-pytest-parametrize参数化
|
JSON 测试技术 数据安全/隐私保护
06-Httprunner-参数化
06-Httprunner-参数化
|
测试技术 Python
python生成器+pytest实现参数化
定义:生成器是由函数+yield关键字创造出来的写法
|
测试技术 Python
pytest学习和使用17-Pytest如何重复执行用例?(pytest-repeat)
pytest学习和使用17-Pytest如何重复执行用例?(pytest-repeat)
141 0
pytest学习和使用17-Pytest如何重复执行用例?(pytest-repeat)