自动化测试报告(allure/html)

pytest有两种生成测试报告的方法(html和allure),今天就给大家一一介绍下

html

一.pytest-html基本语法

创新互联建站主要从事网站制作、网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务江永,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108

1.安装:pip install pytest-html

2.查看版本:pip show pytest-html

3.生成测试报告基本语法:

语法一:pytest --html=生成报告的url 运行用例的.py文件

语法二:pytest --html=生成报告的url --self-contained-html运行用例的.py文件

二.实例

1.创建一个test_pytestHtml.py文件,编写几条用例(忽略警告)

2.在Terminal运行命令:pytest --html=生成报告的url 运行用例的.py文件,运行成功后,这个时候我们去

生成报告的url下可以看见生成两个文件,一个是我们生成的html报告,另一个是assets文件,里面存放的是

css文件,打开素材的html报告后可以看见用例的执行情况

3.我们再在Terminal运行命令:pytest --html=生成报告的url --self-contained-html运行用例的.py文件,

同样运行成功后,我们去看下生成的文件,发现只有html生成,并没有assets文件,这是因为css语法

写在了html文件中,没有单独放出来。所以方便以后报告的发送,建议使用第二中语法。

三.修改生成的测试报告(挂钩用法见pytest官方:https://docs.pytest.org/en/latest/reference/reference.html#hooks)

1.环境的修改

我们可以看到在html中248行,环境是以表格的形式呈现出来的,如果我们想删除某些默认环境或者添加自

己想要的环境,可在根目录下创建conftest.py文件,如下图,pytest_configure(config): 许插件和conftest文

件执行初始配置。我在再来重新生成html报告可以看见我们在Environment下修改的内容

2.概括的修改

可以看到源代码中264行表示的是概括,但默认的内容只有用例总数和运行时间,如果我们想要增加自己想要的

信息模块,可在conftest.py下编写函数,再次运行生成html文件就可看见需要的内容了

3.标题的修改

同样在conftest文件下编写pytest_html_report_title函数,如下

allure(如果可以的话建议使用allure,美观+高级+好用)

一.环境配置

1.下载jdk配置java运行环境,下载地址:https://www.oracle.com/java/technologies/downloads/#jdk18-windows

2.下载安装完成后配置java环境变量(属性>高级设置>环境变量>新建),添加JAVA_HOME。

在path下里添加:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

3.配置完成后可在dos窗口输入javac,java -version,能输出版本号及相关指令即安装配置成功

4.下载allure工具:https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/,下载成功

后配置环境变量,path下添加allure的bin文件所在目录

5.配置完成在dos创建输入allure有相关内容时即安装成功

6.安装allure-pytest工具,打开你使用的编程工具,这里以pycharm为例,在Terminal输入pip install allure-pytest

二.allure报告的生成指令

1.生成json文件:pytest -q --alluredir=生成json文件的路径 需要运行的case路径(说明:-q简要输出)

2.将生成的json文件转出html格式

(1)指定路径生成html报告:allure generate -o 生成html报告的路径 json文件路径

(2)默认路径生成html报告:allure generate -clear json文件路径(说明:默认路径

为allure-report,clear清空该路径原有的报告)

(3)open及serve用法

serve:allure serve -o 生成html报告的路径 json文件路径(说明:与generater

不同的是,serve生成html后会自动在浏览器打开该报告)

open:allure open -h ip地址 html路径(说明:打开生成的html报告)

注:serve和open运行时会自动打开一个java进程,且只能手动关闭,因此多次使用

serve和open会增加内存消耗

三.allure报告的用法(本次介绍下面几种常用的allure方法)

方法 说明
@allure.epic() 一级类目
@allure.feature() 二级类目
@allure.story() 三级类目
@allure.title() 用例标题
@allure.testcase() case地址
@allure.issue() bug地址
@allure.description() case描述
@allure.step() case步骤
@allure.severity() case等级
@allure.link() 链接

1.@allure.epic(),allure.feature(),allure.story()的使用

(1)创建一个test.two.py文件,写法如下

import allure

@allure.epic("我是一级目录") @allure.feature("我是二级目录") @allure.story("我是三级目录") class TestDome: def test_one(self): print("我是test_one") assert True def test_two(self): print("我是test_two") assert False

名称栏目:自动化测试报告(allure/html)
当前链接:http://scyanting.com/article/dsogjpi.html