pytest测试陈诉Allure - 动态生成标题生成功能、添加用例失败截图 ...

打印 上一主题 下一主题

主题 821|帖子 821|积分 2463

一、动态生成标题

默认 allure 陈诉上的测试用例标题不设置就是用例名称,其可读性不高;当联合 @pytest.mark.parametrize 参数化完成数据驱动时,如标题写死,其可读性也不高。
那假如盼望标题可以动态的生成,接纳的方案是:
参数化 @pytest.mark.parametrize + @allure.title()
1.1、示例一:参数化无标题
1、创建
test_allure_title_parametrize.py文件
脚本代码:
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. """
  4. """
  5. import pytest
  6. import allure
  7. @pytest.fixture()
  8. def login(request):
  9.     """登录"""
  10.     param = request.param
  11.     print(f"用户名:{param['username']},密码:{param['password']}")
  12.     # 返回
  13.     return {"code": 0, "msg": "登陆成功"}
  14. datas = [
  15.     {"username": "name1", "password": "pwd1"},
  16.     {"username": "name2", "password": "pwd2"},
  17.     {"username": "name3", "password": "pwd3"}
  18. ]
  19. @allure.story('登录功能')
  20. @pytest.mark.parametrize('login', datas, indirect=True)
  21. def test_login(login):
  22.     """
  23.     登录测试用例
  24.     """
  25.     assert login['code'] == 0
复制代码
2、输入下令运行:
  1. pytest test_allure_title_parametrize.py --alluredir=./allure
  2. allure serve allure
复制代码
如图所示:用例标题就是函数名+参数化的数据

1.2、示例二:参数化有标题
1、创建
test_allure_title_parametrize2.py文件
脚本代码:
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. """
  4. """
  5. import pytest
  6. import allure
  7. @pytest.fixture()
  8. def login(request):
  9.     """登录"""
  10.     param = request.param
  11.     print(f"用户名:{param['username']},密码:{param['password']}")
  12.     # 返回
  13.     return {"code": 0, "msg": "登陆成功"}
  14. datas = [
  15.     {"username": "name1", "password": "pwd1"},
  16.     {"username": "name2", "password": "pwd2"},
  17.     {"username": "name3", "password": "pwd3"}
  18. ]
  19. @allure.story('登录功能')
  20. @allure.title('登录测试用例')
  21. @pytest.mark.parametrize('login', datas, indirect=True)
  22. def test_login(login):
  23.     """
  24.     登录测试用例
  25.     """
  26.     assert login['code'] == 0
复制代码
2、输入下令运行:
  1. pytest test_allure_title_parametrize2.py --alluredir=./allure
  2. allure serve allure
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

九天猎人

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表