前言

使用参数化测试化后,allure的报告如下显示:

源代码如下:

# -*- coding: utf-8 -*-
# @Time : 2020/12/13 17:27
# @Author : longrong.lang
# @FileName: test_param_title.py
# @Software: PyCharm
# @Cnblogs :https://www.cnblogs.com/longronglang
import allure
import pytest @pytest.fixture()
def loginTo(request):
# 传入参数,登录
param = request.param
print(f"\nuserName : {param['userName']} ,passWord : {param['passWord']}")
# 登录成功,返回
return {"code": "0", "msg": "success!"} data = [{"userName": "jojo", "passWord": "1"},
{"userName": "rongrong", "passWord": "1"},
{"userName": "lilei", "passWord": "1"}
] @allure.story("讲述登录成功,返回成功的故事!")
@allure.title("测试登录接口")
@pytest.mark.parametrize("loginTo", data, indirect=True)
def test_loginTo(loginTo):
assert loginTo['msg'] == 'success!'

从代码看出,其实就是@allure.title("测试登录接口"),写死的呀。

如何解决

那么怎么搞?

这个问题问的好呀,动态的标题可以实现吗?试试呗?

方案一

直接拼接loginTo

示例代码如下:

# -*- coding: utf-8 -*-
# @Time : 2020/12/13 17:27
# @Author : longrong.lang
# @FileName: test_param_title.py
# @Software: PyCharm
# @Cnblogs :https://www.cnblogs.com/longronglang
import allure
import pytest @pytest.fixture()
def loginTo(request):
# 传入参数,登录
param = request.param
print(f"\nuserName : {param['userName']} ,passWord : {param['passWord']}")
# 登录成功,返回
return {"code": "0", "msg": "success!"} data = [{"userName": "jojo", "passWord": "1"},
{"userName": "rongrong", "passWord": "1"},
{"userName": "lilei", "passWord": "1"}
] @allure.story("讲述登录成功,返回成功的故事!")
@allure.title("测试登录接口 {loginTo}")
@pytest.mark.parametrize("loginTo", data, indirect=True)
def test_loginTo(loginTo):
assert loginTo['msg'] == 'success!'

allure报告

这样会使得报告,更具可读性,直观一些

方案二

使用元祖来做参数化,加一个参数为标题

示例代码如下:

# -*- coding: utf-8 -*-
# @Time : 2020/12/13 17:27
# @Author : longrong.lang
# @FileName: test_param_title.py
# @Software: PyCharm
# @Cnblogs :https://www.cnblogs.com/longronglang
import allure
import pytest data = [("jojo", "1", "登录成功的用例"),
("rongrong", "1", "登录成功的用例"),
("lilei", "1", "登录失败的用例")
] @allure.story("讲述登录成功,返回成功的故事!")
@allure.title("测试登录接口 {title}")
@pytest.mark.parametrize("userName,password,title", data)
def test_loginTo(userName, password, title):
print(userName + "\t" + password + "\t" + title)

allure报告

这种做法的优点

  • 可以自定义各式各样的标题
  • 单独一个值去维护标题值
  • 可读性比较好,容易维护

最新文章

  1. JS-concat
  2. pymongo 3.3 使用笔记
  3. Multipart to single part feature
  4. Linux 下zip包的压缩与解压
  5. velocity merge作为工具类从web上下文和jar加载模板的两种常见情形
  6. java实现将资源文件转化成sql语句导入数据库
  7. JBOSS常用端口说明
  8. 第六章_PHP数组
  9. linux下php多版本的并存实现
  10. QueryString和BASE64
  11. File,FileInputStream,FileReader,InputStreamReader,BufferedReader 的使用和区别
  12. VIM于换行EOL的思考
  13. web服务器,应用程序服务器,http服务器的区别
  14. LeetCode - 540. Single Element in a Sorted Array
  15. Android Framework 学习和需要学习的内容
  16. 基于xml 实现动态加载权限功能树列表---EFSFrame企业级开发架构
  17. RabbitMQ Linux(Redhat6.5)安装(二 )
  18. Qt QComBox 文本框输入itemText && 文本框查找item && 本文框添加Item &&设置显示Item数量
  19. Android开发 - 掌握ConstraintLayout(九)分组(Group)
  20. Vue-认识状态管理vuex

热门文章

  1. YH高校集中用电管理网上查询系统POST注入漏洞
  2. 查看php扩展
  3. 思维导图软件MindManager新手入门教程
  4. Nacos安装与启动教程
  5. leetcode 练习--反转链表
  6. Ajax Status(状态码) & readyState()
  7. PHP作业记录
  8. 【SHOI2008】JZOJ2020年9月5日提高组 循环的债务
  9. Linu之用户管理【useradd】【userdel】【usermod】【passwd】【权限】
  10. 从Paxos到Zookeeper 分布式一致性原理与实践读书心得