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

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.kler.cn/a/228282.html

相关文章:

  • 【Rabbitmq】Rabbitmq高级特性-发送者可靠性
  • OpenEuler学习笔记(四):OpenEuler与CentOS的区别在那里?
  • SQLLOADER小实验
  • Debian 上安装PHP
  • 嵌入式硬件篇---ADC模拟-数字转换
  • 【vim】vim怎样直接跳转到某行?
  • leetcode 3.无重复字符的最长字串(滑动窗口) (C++)DAY2
  • 目标检测及相关算法介绍
  • 逆向基础-破解密码
  • spring boot打完jar包后使用命令行启动,提示xxx.jar 中没有主清单属性
  • Unity3D实现坦克大战
  • vue基本语法总结大全
  • 【算法与数据结构】583、72、LeetCode两个字符串的删除操作+编辑距离
  • 【图论】基环树
  • NuxtJs安装Sass后出现ERROR:Cannot find module ‘webpack/lib/RuleSet‘
  • 【从浅到深的算法技巧】排序应用,查找
  • 生物素 PEG4 甲基四嗪,Biotin-PEG4-methyltetrazine,用于标记、追踪和分离特定的分子或细胞
  • 【TCP/IP】用户访问一个购物网站时TCP/IP五层参考模型中每一层的功能
  • Python学习笔记(水桶谜题代码学习)——应用*符号解包列表所有元素传递给函数用法
  • LeetCode:2.两数相加
  • CentOS7集群环境搭建(3台)
  • 【git】本地项目推送到github、合并分支的使用
  • openssl3.2 - use openssl cmd create ca and p12
  • P8711 [蓝桥杯 2020 省 B1] 整除序列--2024冲刺蓝桥杯省一
  • Android消息通知Notification
  • http伪造本地用户字段系列总结