当前位置: 首页 > news >正文

Pytest 与allure测试报告集成

通过Feature, story, step 记录测试的功能,场景及测试步骤

# login.py
'''
login_func函数
传入参数是name 和 password
当输入的name和password与数据库db_data中数据一致时,返回“XXX成功登录系统!”
当输入的name存在于数据库db_data但密码不正确时,返回“XXX账号,密码输出错误,请重新输入!”
当输入的name不存在于数据库db_data中时,返回“XXX账号不存在,请输入正确的账号!”
'''def login_func(name,password):db_data = {"name": ['Jie', 'Jack', 'Jame'], "password": {'Jie': '123456', 'Jack': '111111', 'Jame': '222222'}}if name in db_data["name"] and str(password) == db_data["password"][name]:return(f"{name} 成功登录系统!")elif name in db_data["name"] and str(password) != db_data["password"][name]:return(f"{name} 账号,密码输出错误,请重新输入!")else:return(f"{name} 账号不存在,请输入正确的账号!")

login.py是一个登录模块,login_func函数主要实现登录功能

test_mod9.py主要实现对login.py中login_func函数功能测试

from login import login_func@allure.feature("测试登录模块")
class TestMod9:@allure.title("测试登录正例01")@allure.story("用正确的账号与密码登录")def test_login_01(self):name = "Jie"password = "123456"with allure.step(f"使用账号名称:{name},密码:{password}进行登录"):login = login_func(name,password)exc = f"{name} 成功登录系统!"pytest.assume(login == exc)@allure.title("测试登录反例02")@allure.story("用正确的账号与错误的密码登录")def test_login_02(self):name = "Jie"password = "023456"with allure.step(f"使用账号名称:{name},密码:{password}进行登录"):login = login_func(name,password)exc = f"{name} 账号,密码输出错误,请重新输入!"pytest.assume(login == exc)@allure.title("测试登录反例03")@allure.story("用不存在的账号进入登录")@allure.description("当登录账号不存在时,有正确的提示")def test_login_03(self):name = "Hele"password = "023456"with allure.step(f"使用账号名称:{name},密码:{password}进行登录"):login = login_func(name, password)exc = f"{name} 不存在账号,请输入正确的账号!"pytest.assume(login == exc)

test_mod9.py测试模块中,包含一个class TestMod9 测试类,测试类下包含了测试登录功能的三个测试用例

@allure.feature("测试登录模块"): 在报告中记录测试需求(即测试用例集的功能,要测试什么)一般修饰测试类(testsuite);

@allure.story("用正确的账号与密码登录"):在报告中记录根据测试需求细化的测试场景(即测试用例场景描述)一般修饰测试用例即方法;

(注:feature与story属于父子关系)

@allure.title("测试登录反例03"):在报告中自定义测试用例标题

@allure.description("当登录账号不存在时,有正确的提示"):报告中测试用例的详细描述

with allure.step(f"使用账号名称:{name},密码:{password}进行登录"): 在报告中记录测试用例中的测试步骤或详细信息,放在测试用例的代码逻辑中;

  • -alluredir=./result/ 为指定报告结果数据存入路径,执行上述命令后会自动在该目录下生成一个result文件夹存放报告数据

 

命令:allure serve ./result/

1、在本地启动一个server查看allure报告

 

 2、根据result文件夹中的数据在项目目录下生成allure-report存入html报告

命令:allure generate ./result/
命令:allure open ./allure-report 在本地启动查看allure报告的服务
命令:allure generate ./result/ -o ./allure-report/ --clean # 每次生成报告时先清除原报告数据

 

 

 

 

http://www.lryc.cn/news/294130.html

相关文章:

  • MySQL 表的增删改查(基础)
  • 【PDF.js】发票PDF不显示文本的问题
  • C#中检查空值的最佳实践
  • 三层交换组网实验(华为)
  • Android配置GitLab CI/CD持续集成,Shell版本的gitlab-runner,FastLane执行,上传蒲公英
  • 算法提升——LeetCode383场周赛总结
  • (delphi11最新学习资料) Object Pascal 学习笔记---第4章第2.1节( 带结果的Exit例程)
  • vuecli3 执行 npm run build 打包命令报错:TypeError: file.split is not a function
  • 【Java 数据结构】对象的比较
  • 2024 Google Chrome 浏览器回退安装旧版本
  • 将数组中的各字符串都调整为指定长度调整原则:多删(删右侧多出的)少补(左侧补数字0)numpy.char.zfill()
  • 算法题目题单——图论
  • Maven提示Failure to find com.oracle:ojdbc14:jar:10.2.0.4.0
  • 深度学习的数据集制作、标注、处理相关软件
  • 点击按钮打开自定义iframe弹窗
  • LeetCode977 有序数组的平方
  • Windows自动化实现:系统通知和任务栏图标自定义
  • Spring | Spring的“数据库开发“ (Srping JDBC)
  • 面试八股文(2)
  • 记elasticsearch CPU负载100%问题
  • 回归预测 | Matlab实现OOA-CNN-LSTM-Attention鱼鹰算法优化卷积长短期记忆网络注意力多变量回归预测(SE注意力机制)
  • PyTorch、NCNN、CV::Mat三者张量的shape
  • 社交平台内容创作未来会有哪些方向?
  • MySQL温故篇(一)SQL语句基础
  • C 检查小端存储还是大端
  • 【ETOJ P1021】树的遍历 题解(有向图+深度优先搜索+广度优先搜索)
  • 红队渗透靶机:LEMONSQUEEZY: 1
  • 【Servlet】——Servlet API 详解
  • oracle主库增加redo组数
  • lua只读表