IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python生成allure测试报告,allure使用详细说明 -> 正文阅读

[Python知识库]Python生成allure测试报告,allure使用详细说明

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

一、生成allure测试报告

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

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

3.要想生成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文件就可以。

具体:

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

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

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

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

?二、allure测试报告优化

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

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

方法:先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这个是执行成功截取的图片,注意和上面执行失败截取的图片文件名区分一下。

效果:

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

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-09-04 01:07:23  更:2022-09-04 01:10:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 10:37:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码