资讯详情

pytest结合allure生成html测试报告(step、story、severity、screenshot)

📅 2026/9/9 18:36:27 | 华诺云谱 👁 阅读
pytest结合allure生成html测试报告(step、story、severity、screenshot)
allure介绍以及环境allure是一个生成HTML测试报告的工具包。依赖java环境所以必须安装jdk和配置环境变量生成html报告需要下载allure解压即可不需要安装但是需要配置环境变量下载地址https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/,需要匹配python中的allure-pytest版本下载后不需要安装直接解压放到相应目录环境变量配置path中新增变量把allure的bin目录放到path中。python环境需要安装pip install allure-pytestpython环境中安装pytest使用总结配置文件修改使用过allure生成测试报告运行时依然执行pytest命令但是执行后生成json文件使用命令生成html报告allure generate report -o report/html --clean-o 指代output输出报告的路径–clean指代清除以前生成报告如果不想清楚需要留存历史数据此命令可不加添加测试步骤allure.step(title“输入企业号”)—此代码在操作层方法上。所以需要修改page类#操作层增加测试步骤classLoginHandle(BaseHandle):def__init__(self):self.login_pageLoginPage()#实例化元素对象类#定义账号密码输入框allure.step(title输入企业号)definput_enterprise(self,enterprise):#调用基类方法input_text(element,text),两个变量元素和输入文本self.input_text(self.login_page.find_enterprise(),enterprise)allure.step(title输入账号)definput_account(self,account):self.input_text(self.login_page.find_account(),account)allure.step(title输入密码)definput_psd(self,psd):self.input_text(self.login_page.find_psd(),psd)# allure.step(title点击登录)defclick_login_btn(self):self.login_page.find_login_btn().click()添加测试截图此代码一般都在测试用例中如allure.attach(UtilsDriver.get_driver().get_screenshot_as_png(),登录成功,allure.attachment_type.PNG)需要先获取driver再使用driver调用截图方法截图描述、获得png图片添加测试用例级别此代码一般在用例上方标记如allure.severity(allure.severity_level.BLOCKER)allure.story(登录模块)#增加用例模块归属使用story方法classTestLogin:#初始化。类级别的defsetup_class(self):self.login_proxyLoginProxy()self.home_proxyHomeProxy()self.dig_proxyDigitalProxy()#结束销毁类级别统一销毁defteardown_class(self):UtilsDriver.quit_driver()#调用工具类中的关闭webdriver对象#方法三参数化使用函数pytest.mark.parametrize(enterprise,account,psd,expect,read_params_data(login_data.json,login_success,enterprise,account,psd,expect))#增加用例级别allure.severity(allure.severity_level.BLOCKER)deftest01_login(self,enterprise,account,psd,expect):# 调用登陆业务进入首页参数有账号密码self.login_proxy.go_home_page(enterprise,account,psd)#登录业务完成后使用allure截图须先获取driver使用driver调用截图方法截图描述、获得png图片allure.attach(UtilsDriver.get_driver().get_screenshot_as_png(),登录成功,allure.attachment_type.PNG)usernameself.home_proxy.get_username_msg()#获取登陆者姓名#断言assertexpectusername logging.info(登陆者姓名{}.format(username))#日志记录测试用例数据logging.info(测试用例数据企业:{},账号{},预期结果{}.format(enterprise,account,expect))测试结果如下
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。