Pytest 与allure测试报告集成

发布时间:2026/8/15 10:40:49
Pytest 与allure测试报告集成 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(测试登录模块) 在报告中记录测试需求即测试用例集的功能要测试什么一般修饰测试类testsuiteallure.story(用正确的账号与密码登录)在报告中记录根据测试需求细化的测试场景即测试用例场景描述一般修饰测试用例即方法注feature与story属于父子关系allure.title(测试登录反例03)在报告中自定义测试用例标题allure.description(当登录账号不存在时有正确的提示)报告中测试用例的详细描述with allure.step(f使用账号名称{name}密码{password}进行登录): 在报告中记录测试用例中的测试步骤或详细信息放在测试用例的代码逻辑中命令行pytest -vs test_mod9.py --alluredir./result/ #每次执行生成的测试结果都追加到result文件夹中 命令行pytest -vs ./test_case/test_order.py --clean-alluredir --alluredir./result/ #每次执行生成测试结果集前先清空已存在的结果集-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 # 每次生成报告时先清除原报告数据