创建test.html页面,详细使用Pytest + Allure生成漂亮的HTML图形测试报告

file0002.jpg

6529e278053763814a4a9151348bdfee.png

主页显示此测试的测试用例数,成功用例,失败用例,跳过的用例,测试环境,套件,按功能分类的特征和其他基本信息. 继詹金斯之后,TREND区域还将显示先前测试的通过状态.

主页的左列还显示了不同维度的测试报告的其他信息,您可以单击以查看自己.

4.2,“行为”页面

进入“行为”页面,此页面根据功能和故事显示测试用例的执行结果:

406aeaaa8c0f8f8c910dff68ef8f31d7.png

在此页面上,您可以看到“购物车功能”功能中包含的三个STORIES测试用例的执行状态.

4.3,“套件”页面

Allure测试报告将每个测试脚本视为一个套件. 单击主页上“套件”区域下的任何套件,以进入“套件”页面.

9fa7ffbdcda2561ccd25cf800939da8a.png

2-433-jpg_6_0_______-664-0-0-664.jpg

此页面以脚本目录结构显示所有测试用例的执行情况.

4.4,“图形”页面

此页面显示测试结果的统计信息,例如测试用例执行结果状态,测试用例重要性级别分布,测试用例执行时间分布等.

6f97527ba815fb8a243123ce309521cf.png

4.5. 测试案例详细信息页面

在“套件”页面上单击任何测试用例. 套件页面的右侧将显示此测试用例的详细实现.

f2d950d602017a76e06effc19d9e8e33.png

在此页面上购物车的测试用例,您可以查看测试用例执行的每个步骤以及每个步骤的执行结果. 每个步骤都可以添加附件以补充重要信息. 从这里,对于失败的测试用例,您可以一目了然地看到原因.

5. 在詹金斯生成魅力报告

5.1. 安装Allure插件

file0001.png

首先,您需要将Allure插件安装到Jenkins. 在Jenkins的插件管理页面上,搜索“ Allure”,然后在搜索结果页面上,选择“ Allure Jenkins Plugin”进行安装.

安装完成后,重新启动Jenkins.

在Jenkins的“全局工具管理”页面上,找到要安装的Allure Commandline模块:

9cd981908c19d768e244154abbfce347.png

单击后,将弹出以下页面. 输入Allure的命令别名和版本后,单击“应用并保存”.

59355d2ecfa36063040dd190293f8be6.png

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']]

}

}

}

}

这样,当我们的詹金斯工作执行测试用例时,我们将在工作的主页上看到“魅力报告”图标,然后单击以查看“魅力报告”报告.

b94e0a9c2a50353c2cf766beb679d5cc.png

75c5a5f013de439348c6cdec899ea1c6.png

如果您仍在使用Freestyle作业. 然后,您需要在构建后步骤中添加“魅力报告”步骤,以将魅力报告数据添加到“路径”中:

92cbc4eed120eb40df9e008c53bdb77d.png

通过这种方式购物车的测试用例,当作业执行完成时,您还可以看到魅力测试报告.

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来生成测试报告时,您将能够将测试环境信息合并到测试报告页面中.

file0001.jpg

3012d1b686c618f3ed875f3922c11b45.png

这样看,测试报告是否更完整?

但是,这种手动方法仍然很麻烦. 让我们看看如何在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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值