我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python生成allure测试报告,allure使用详细说明

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python生成allure测试报告,allure使用详细说明

pytest框架自带一个测试报告,内容也相对全面,但是可读性差点,allure生成的测试报告,可改造性强,看起来也美观。使用过程在此总结一下。

一、生成allure测试报告

下载安装allure-pytest插件,我一般都是在pycharm里直接安装:File--Setting--Project--Python Interpreter--右侧"+"--输入"allure-pytest"--选中--点击左下角"Install Package"。有问题是环境配置的问题的话,可以百度下。

应该是需要在项目的根目录建一个report文件夹,这点不确定了,可以试下,不手动report文件夹,可以生成报告吗,如果不行,缺少这个目录的话,会报错提示找不到目录。

要想生成allure测试报告,有好几种方法,cmd执行命令生成、pycharm的终端Terminal执行命令,这俩百度下命令,执行命令就可以了。但是我们自动化最后不能手动再执行个命令生成报告吧,那多不方便,所以把命令写到main.py文件运行完测试用例的代码之后就自动生成报告了。

pytest.main(["./test_script",             "-sv","--alluredir","./report/temp_jsonreport"])os.system("allure generate ./report/temp_jsonreport -o ./report/html --clean")

因为allure生成的报告是json格式的,需要再转化成html格式的,所以会自动生成一个temp_jsonreport文件,就按上面写的,然后执行main.py文件就可以。

具体:

"./test_script"这个是你测试用例的路径,比如我的所有的测试用例都在这个文件夹下,这个文件下又有很多每个用例的文件夹,那你如果想执行所有的用例就写到"./test_script"这个路径就可以了,如果是想要执行这个文件下的某个用例,就写到具体的那个文件的路径。

"--alluredir"这个是创建allure报告的路径。

-o是执行,--clean是清除之前生成的报告。

main.py整理好了,可以执行main文件,用例执行完成后,在report文件夹下会有两个文件夹:html、temp_jsonreport。在html这个文件夹下,找到index.html文件,这个就是我们生成的测试报告,右键用浏览器打开就可以看到了。

 二、allure测试报告优化

在allure测试报告页面可以选择中英文切换,我个人比较倾向使用【功能/Behaviors】这个菜单里面的信息,因为这里可以看到更多详细的内容,也比较容易对我们的测试用例进行规范化,allure测试报告的改造也大部分都在这个环节上。

增加功能模块描述、测试点描述及测试步骤

方法:先import allure,然后在类上添加装饰器@allure.feature("生成账单"),在方法上添加装饰器@allure.story("批量生成账单"),在方法里面添加步骤with allure.step("1.进入[社区管理]菜单"):

使用及效果图:

(feature相当于一个功能,一个大的模块,将case分类到某个feature中,报告中在behaviore中显示,相当于testsuite)

(story相当于对应这个功能或者模块下的不同场景,分支功能,属于feature之下的结构,报告在features中显示,相当于testcase)

 

 

 2、执行断言,失败截图、成功截图

一条case可以在中间步骤进行断言,可以在最后进行断言,看测试需要。我们想要的一个结果是断言失败的截图并放到allure测试报告中。

        with allure.step("5.执行断言"):            #如果断言失败就截图并保存            try:                assert "添加成功" in self.driver.page_source            except:                self.driver.save_screenshot("./screenshot/houseInfoFail.png")                allure.attach.file("./screenshot/houseInfoFail.png", attachment_type=allure.attachment_type.PNG)                #如果断言失败就截图,这里加一个断言失败,方便报告里记录失败用例,                # 不加的话无论失败与否pytest框架都会判断你的用例执行成功了                assert "添加成功" in self.driver.page_source

现在项目下面建一个screenshot文件夹,用来放截取的图片,然后allure再获取该图片。houseInfoFail.png这个是自己定义的图片的文件名。

如果断言成功了,也截取一张图片,并放到allure报告中。完整代码如下:

        with allure.step("5.执行断言"):                        #如果断言失败就截图并保存            try:                assert "添加成功" in self.driver.page_source            except:    self.driver.save_screenshot("./screenshot/houseInfoFail.png")                allure.attach.file("./screenshot/houseInfoFail.png", attachment_type=allure.attachment_type.PNG)                #如果断言失败就截图,这里加一个断言失败,方便报告里记录失败用例,                # 不加的话无论失败与否pytest框架都会判断你的用例执行成功了                assert "添加成功" in self.driver.page_source        #截图        with allure.step("6.保存图片"):                        self.driver.save_screenshot("./screenshot/houseInfo.png")            allure.attach.file("./screenshot/houseInfo.png", attachment_type=allure.attachment_type.PNG)

 houseInfo.png这个是执行成功截取的图片,注意和上面执行失败截取的图片文件名区分一下。

效果:

 还有很多功能,想要的效果达到了就可以了。

来源地址:https://blog.csdn.net/qsmy_an/article/details/126638230

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python生成allure测试报告,allure使用详细说明

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

allure结合python生成测试报告教程

百度搜索实例 一、代码结构 本案例来自于霍格沃兹测试学院《高薪测试成长图谱》。data.yml为数据管理文件,test_baidudemo.py为测试用例文件,文件结构如下:创建data/data.yml文件,代码如下- allure -
2022-06-02

python自动化之如何利用allure生成测试报告

Allure测试报告框架帮助你轻松实现”高大上”报告展示。本文通过示例演示如何从0到1集成Allure测试框架。重点展示了如何将Allure集成到已有的自动化测试工程中、以及如何实现报表的优化展示。Allure非常强大,支持多种语言多种测试
2022-06-02

Python+Pytest框架在Jenkins上怎样生成Allure测试报告

Python+Pytest框架在Jenkins上怎样生成Allure测试报告,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在自动化测试执行之后,生成一个美观大方的测试报告,也是
2023-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录