主页显示此测试的测试用例数,成功用例,失败用例,跳过的用例,测试环境,套件,按功能分类的特征和其他基本信息. 继詹金斯之后,TREND区域还将显示先前测试的通过状态.
主页的左列还显示了不同维度的测试报告的其他信息,您可以单击以查看自己.
4.2,“行为”页面
进入“行为”页面,此页面根据功能和故事显示测试用例的执行结果:
在此页面上,您可以看到“购物车功能”功能中包含的三个STORIES测试用例的执行状态.
4.3,“套件”页面
Allure测试报告将每个测试脚本视为一个套件. 单击主页上“套件”区域下的任何套件,以进入“套件”页面.
此页面以脚本目录结构显示所有测试用例的执行情况.
4.4,“图形”页面
此页面显示测试结果的统计信息,例如测试用例执行结果状态,测试用例重要性级别分布,测试用例执行时间分布等.
4.5. 测试案例详细信息页面
在“套件”页面上单击任何测试用例. 套件页面的右侧将显示此测试用例的详细实现.
在此页面上购物车的测试用例,您可以查看测试用例执行的每个步骤以及每个步骤的执行结果. 每个步骤都可以添加附件以补充重要信息. 从这里,对于失败的测试用例,您可以一目了然地看到原因.
5. 在詹金斯生成魅力报告
5.1. 安装Allure插件
首先,您需要将Allure插件安装到Jenkins. 在Jenkins的插件管理页面上,搜索“ Allure”,然后在搜索结果页面上,选择“ Allure Jenkins Plugin”进行安装.
安装完成后,重新启动Jenkins.
在Jenkins的“全局工具管理”页面上,找到要安装的Allure Commandline模块:
单击后,将弹出以下页面. 输入Allure的命令别名和版本后,单击“应用并保存”.
5.2,修改管道
在Pipeline的定义中,在执行测试用例时添加--alluredir ./allure-results以保存测试结果数据,并添加allure includeProperties: false,jdk: '',报告: 'jenkins-allure- report',结果: [[path: 'allure-results']]根据测试结果数据生成测试报告页面. 完整的Jenkinsfile如下:
pipeline {
// ...
stages {
//...
stage('执行测试用例') {
steps {
sh "py.test tests/ --alluredir ./allure-result"
}
}
}
post {
always{
script {
allure includeProperties: false, jdk: '', report: 'jenkins-allure-report', results: [[path: 'allure-result']]
}
}
}
}
这样,当我们的詹金斯工作执行测试用例时,我们将在工作的主页上看到“魅力报告”图标,然后单击以查看“魅力报告”报告.
如果您仍在使用Freestyle作业. 然后,您需要在构建后步骤中添加“魅力报告”步骤,以将魅力报告数据添加到“路径”中:
通过这种方式购物车的测试用例,当作业执行完成时,您还可以看到魅力测试报告.
6. 将测试环境添加到“魅力”报告中
在第4.1节中显示的报告的首页中,有一个区域可以显示用于测试执行的环境信息. 但是目前,allure-pytest插件中没有任何实现. 但是,支持我之前使用的另一个插件pytest-allure-adaptor. 不幸的是,pytest-allure-adaptor插件项目已被标记为“已弃用”.
将测试环境信息导出到报告对于测试报告非常有意义. 我们可以实现任何解决方法吗?我在Internet上进行了一些查询,发现关于stackoverflow的这个主题也有很多讨论. 主题之一还提供了解决方法,这是每个人的链接:
此解决方法也相对简单方便. 在allure-results目录中,创建一个新的environment.properties文件,并以key = value的形式写入与环境有关的信息,例如:
browser=chrome
backend=staging
domain=http://baidu.com
通过这种方式,当您执行allure generate ./result/ -o ./report/ --clean来生成测试报告时,您将能够将测试环境信息合并到测试报告页面中.
这样看,测试报告是否更完整?
但是,这种手动方法仍然很麻烦. 让我们看看如何在pytest框架中自动实现上述解决方法.
在Pytest中,有一个名为pytest_sessionfinish的钩子函数. 根据描述,在整个测试完成后将调用此函数. 我们可以在其中实现自己的逻辑.
我们将生成的environment.properties文件放在pytest_sessionfinish中以实现它,这是完美的. 在测试项目的根目录中创建conftest.py文件,并在其中实现pytest_sessionfinish函数. 代码如下.
#!/usr/bin/env python
# coding=utf-8
def pytest_sessionfinish(session):
with open("{}/result/environment.properties".format(session.config.rootdir), "w") as f:
f.write("browser=chrome\nbackend=staging\ndomain=http://baidu.com")
这样,每次完成测试时,我们都会自动将测试环境信息添加到测试报告中.
7. 摘要
团队中不同项目使用的测试框架可能不同,并且每个测试框架生成的测试报告也不同. 但是,由于Allure报告支持许多测试框架,因此可以通过Allure生成一致格式的测试报告,这为以一致格式提供测试报告提供了便利.
在当前的测试工程实践中,另一个常用的自动化测试工具组合是Java + TestNG体系结构. 如何将Allure与TestNG框架集成在一起也非常简单. 您可以尝试参考官方文档以实现集成.
本文介绍了有关使用Pytest + Allure生成漂亮的HTML图形测试报告的详细说明. 有关生成HTML图形内容的更多相关Pytest + Allure,请搜索Script House的上一篇文章,或继续浏览下面的相关文章,并希望每个人将来都支持Script House!
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-163272-1.html