百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

软件测试 | 结合Allure生成测试报告

liuian 2025-07-03 17:05 74 浏览

简介

测试报告在项目至关重要,测试人员可以在测试报告中体现自己的工作量,开发人员可以从测试报告中 了解缺陷的情况,测试经理可以从测试报告中看到测试人员的执行情况及测试用例的覆盖率,项目负责 人可以通过测试报告查看整个项目还余留多少问题。强大的测试报告能够非常清晰的反映很多问题,提 供给相关人员了解项目的整体情况。

Allure 是一种灵活的、轻量级、支持多语言测试报告框架,它不仅能够以简洁的 web 报告形式显示已测 试的内容,而且允许参与开发的每个人,从测试的日常执行中提取最大限度的有用信息。同时支持多种 语言包括 Java、Python、JavaScript、Ruby、Groovy、PHP、.Net、 Scala。

安装

安装 ALLURE

Mac 可以使用 brew 安装 Allure,安装命令如下:

brew install allure

关于 Allure 在其它操作系统安装方式,参照官网(
https://docs.qameta.io/allure/ #_installing_a_commandline)。

查看 Allure 版本:

allure --version

其他操作系统请参考
https://docs.qameta.io/allure/#_installing_a_commandline 。

安装 ALLURE-PYTEST 插件

与 pytest 结合需要安装 allure-pytest 插件 pip install allure-pytest 。

Allure 特性

ALLURE FEATURE 与 ALLURE STORY

使用装饰器 @allure.feature 和 @allure.store 来装饰测试用例。

  • feature 相当于大模块,将测试用例分类到某个 Feature 中,报告中 Behaviore 中显示,相当于测试 套件(Test Suite)
  • story 相当于对应功能或者模块下的不同场景,属于分支功能,相当于测试用例(Test Case)
  • feature 与 story 类似于父子关系

定义测试类为 feature,定义测试方法为 story,代码如下:

@allure.feature("测试登录功能")
class TestLogin:
 @allure.story("测试成功的登录场景")
 def test_login1(self):
pass
 @allure.story("测试失败的登录场景")
 def test_login2(self):
 pass

ALLURE STEP

测试过程中,如果想查看测试用例每个步骤的结果,可以添加测试步骤的装饰器 @allure.step() 用法 1,方法加上装饰器作为测试步骤:

import allure
@allure.step
def login():
 pass
@allure.step
def search():
 pass
def test_with_nested_steps():
 login()
 search()

用法 2,在用例中添加测试步骤

def test_search():
 with allure.step("打开 Chrome 浏览器"):
 driver = webdriver.Chrome()
 with allure.step("打开 baidu.com"):
 driver.get("https://www.baidu.com")

关联测试用例

在测试报告中关联测试用例的 URL 地址

TEST_CASE_LINK = 'https://github.com/qameta/allure-integrations/issues/
8#issuecomment-268313637'
@allure.testcase(TEST_CASE_LINK, '测试用例地址')
def test_with_testcase_link():
 pass

添加测试附件 前端自动化测试时,会需要在测试报告中附加错误截图或者视频片段。可以使用 Allure,在报告中添加 截图,视频等多媒体素材的功能。

在测试报告里附加图片

allure.attach.file("image.png", attachment_type=allure.attachment_type.PNG)

image.png 图片的相对或者绝对路径 attachment_type=
allure.attachment_type.PNG 图片的类 型,这里使用的是 PNG 格式,也可以选择其它的格式,例如 JPG,BMP 等

在测试报告里附加视频

allure.attach.file("video.mp4", name="视频", \
 attachment_type=allure.attachment_type.MP4)

video.mp4 视频的相对或者绝对路径 name 展示在测试报告中的视频名字,如果不为这个视频命 名,系统会自动为它生成一个名称展示在报告中。 attachment_type=
allure.attachment_type.MP4 视频的类型,这里使用 MP4 格式。

运行

第一步:在 pytest 执行测试的时候,指定参数 --alluredir 选项及结果数据保存的目录,代码如下:

pytest --alluredir=tmp/my_allure_results

tmp/my_allure_results 中保存了本次测试的结果数据。

第二步:打开报告 两种方式 第一种:需要启动 Allure 服务,在 terminal 中输入 allure serve tmp/my_allure_results ,代码 如下:

allure serve tmp/my_allure_results

第二种:也可以使用 allure generate 生成 html 格式的测试结果报告,并使用 allure open 来 打开报告。

allure generate ./result/ -o ./report/ --clean

上面的命令将 ./result/ 目录下的测试数据生成 HTML 测试报告到 ./report 路径下,-–clean 选项目的 是先清空测试报告目录,再生成新的测试报告,然后使用下面的命令打开报告。

allure open -h 127.0.0.1 -p 8883 ./report/

上面的命令会启动一个 Web 服务,将已经生成的 html 测试报告在默认的浏览器中打开(地址: 127.0.0.1:8883),报告如下:

上面的测试报告首页中展示了此次测试的测试用例数量、成功用例、失败用例、跳过用例的比例、测试 环境、测试套、分类等。如果与 Jenkins 结合使用,TREND 区域还将显示,历次测试的通过情况。 点击左下角的 En,可以切换语言,下图为切换成中文展示。

首页的左边栏,还从不同的维度展示测试报告的其他信息。重点页面介绍:

总览:汇总结果展示

类别:按照用例的类别,分类展示

测试套:Allure 测试报告将每一个测试脚本,作为一个测试套

图表:展示了此次测试结果的统计信息,比如测试用例执行结果状态、测试用例重要等级分布、测 试用例执行时间分布等

功能:按照 FEATURES 和 STORIES 展示测试用例的执行结果

测试用例详情页面,测试套页面点击任意一条测试用例,右侧将展示详细信息。图中可以看到测试 步骤,每个步骤的执行结果,还有测试用例的链接、图片、视频等内容

前端自动化测试实战(百度搜索功能)

实际项目中,一旦用例报错,希望将被测应用运行时的错误状态记录下来。记录这些状态可以通过日 志、截图、视频等手段,并将这些测试结果展示在测试报告中,方便相关人员查看并定位问题。

以网页版本的百度为例,百度首页呈现的功能:搜索、新闻、网页等,我们以百度网页的搜索功能为 例,使用 Allure、pytest 结合 selenium 自动化测试框架,完成一个搜索功能的测试(关于 Web 前端测 试中使用的 Selenium,参考 Web 自动化测试章节)。模拟百度搜索功能场景,需要创建两个文件(数 据文件与测试用例文件)。 首先创建数据管理文件 data/data.yml ,代码如下:

- allure
- pytest
- unittest

然后,创建用例文件名为 test_baidudemo.py ,代码如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import allure
import pytest
import yaml
from selenium import webdriver
import time
@allure.testcase("http://www.github.com")
@allure.feature("百度搜索")
@pytest.mark.parametrize('test_data1', yaml.safe_load(\
open("data/data.yml")))
def test_steps_demo(test_data1):
 with allure.step("打开百度网页"):
 driver = webdriver.Chrome()
 driver.get("http://www.baidu.com")
 driver.maximize_window()
 with allure.step(f"输入搜索词:{test_data1}"):
 driver.find_element_by_id("kw").send_keys(test_data1)
 time.sleep(2)
 driver.find_element_by_id("su").click()
 time.sleep(2)
 with allure.step("保存图片"):
 driver.save_screenshot("./result/b.png")
 allure.attach.file("./result/b.png", \
 attachment_type=allure.attachment_type.PNG)
 with allure.step("关闭浏览器"):
 driver.quit()

代码解析:

allure.testcase 用例标识,给定用例的链接,可以与用例的管理地址关联。 allure.feature 功 能模块划分,方便管理和运行测试用例。 allure.step 用来添加测试步骤,在测试报告里面会展示出 来这个步骤说明。 allure.attach.file 测试报告中添加附件 pytest.mark.parametrize 用来参 数化测试用例。

执行:

pytest test_baidudemo.py -s --alluredir=./result/
allure serve ./result/

测试结果图:

测试报告中添加了分类,测试步骤,在每条测试用例中添加了测试用例的链接,截图展示等内容,方便 后续分析定位问题。

搜索微信公众号:TestingStudio霍格沃兹的干货都很硬核

相关推荐

驱动网卡(怎么从新驱动网卡)
驱动网卡(怎么从新驱动网卡)

网卡一般是指为电脑主机提供有线无线网络功能的适配器。而网卡驱动指的就是电脑连接识别这些网卡型号的桥梁。网卡只有打上了网卡驱动才能正常使用。并不是说所有的网卡一插到电脑上面就能进行数据传输了,他都需要里面芯片组的驱动文件才能支持他进行数据传输...

2026-01-30 00:37 liuian

win10更新助手装系统(微软win10更新助手)

1、点击首页“系统升级”的按钮,给出弹框,告诉用户需要上传IMEI码才能使用升级服务。同时给出同意和取消按钮。华为手机助手2、点击同意,则进入到“系统升级”功能华为手机助手华为手机助手3、在检测界面,...

windows11专业版密钥最新(windows11专业版激活码永久)

 Windows11专业版的正版密钥,我们是对windows的激活所必备的工具。该密钥我们可以通过微软商城或者通过计算机的硬件供应商去购买获得。获得了windows11专业版的正版密钥后,我...

手机删过的软件恢复(手机删除过的软件怎么恢复)
手机删过的软件恢复(手机删除过的软件怎么恢复)

操作步骤:1、首先,我们需要先打开手机。然后在许多图标中找到带有[文件管理]文本的图标,然后单击“文件管理”进入页面。2、进入页面后,我们将在顶部看到一行文本:手机,最新信息,文档,视频,图片,音乐,收藏,最后是我们正在寻找的[更多],单击...

2026-01-29 23:55 liuian

一键ghost手动备份系统步骤(一键ghost 备份)

  步骤1、首先把装有一键GHOST装系统的U盘插在电脑上,然后打开电脑马上按F2或DEL键入BIOS界面,然后就选择BOOT打USDHDD模式选择好,然后按F10键保存,电脑就会马上重启。  步骤...

怎么创建局域网(怎么创建局域网打游戏)

  1、购买路由器一台。进入路由器把dhcp功能打开  2、购买一台交换机。从路由器lan端口拉出一条网线查到交换机的任意一个端口上。  3、两台以上电脑。从交换机任意端口拉出网线插到电脑上(电脑设置...

精灵驱动器官方下载(精灵驱动手机版下载)

是的。驱动精灵是一款集驱动管理和硬件检测于一体的、专业级的驱动管理和维护工具。驱动精灵为用户提供驱动备份、恢复、安装、删除、在线更新等实用功能。1、全新驱动精灵2012引擎,大幅提升硬件和驱动辨识能力...

一键还原系统步骤(一键还原系统有哪些)

1、首先需要下载安装一下Windows一键还原程序,在安装程序窗口中,点击“下一步”,弹出“用户许可协议”窗口,选择“我同意该许可协议的条款”,并点击“下一步”。  2、在弹出的“准备安装”窗口中,可...

电脑加速器哪个好(电脑加速器哪款好)

我认为pp加速器最好用,飞速土豆太懒,急速酷六根本不工作。pp加速器什么网页都加速,太任劳任怨了!以上是个人观点,具体性能请自己试。ps:我家电脑性能很好。迅游加速盒子是可以加速电脑的。因为有过之...

任何u盘都可以做启动盘吗(u盘必须做成启动盘才能装系统吗)

是的,需要注意,U盘的大小要在4G以上,最好是8G以上,因为启动盘里面需要装系统,内存小的话,不能用来安装系统。内存卡或者U盘或者移动硬盘都可以用来做启动盘安装系统。普通的U盘就可以,不过最好U盘...

u盘怎么恢复文件(u盘文件恢复的方法)

开360安全卫士,点击上面的“功能大全”。点击文件恢复然后点击“数据”下的“文件恢复”功能。选择驱动接着选择需要恢复的驱动,选择接入的U盘。点击开始扫描选好就点击中间的“开始扫描”,开始扫描U盘数据。...

系统虚拟内存太低怎么办(系统虚拟内存占用过高什么原因)

1.检查系统虚拟内存使用情况,如果发现有大量的空闲内存,可以尝试释放一些不必要的进程,以释放内存空间。2.如果系统虚拟内存使用率较高,可以尝试增加系统虚拟内存的大小,以便更多的应用程序可以使用更多...

剪贴板权限设置方法(剪贴板访问权限)
剪贴板权限设置方法(剪贴板访问权限)

1、首先打开iphone手机,触碰并按住单词或图像直到显示选择选项。2、其次,然后选取“拷贝”或“剪贴板”。3、勾选需要的“权限”,最后选择开启,即可完成苹果剪贴板权限设置。仅参考1.打开苹果手机设置按钮,点击【通用】。2.点击【键盘】,再...

2026-01-29 21:37 liuian

平板系统重装大师(平板重装win系统)

如果你的平板开不了机,但可以连接上电脑,那就能好办,楼主下载安装个平板刷机王到你的个人电脑上,然后连接你的平板,平板刷机王会自动识别你的平板,平板刷机王上有你平板的我刷机包,楼主点击下载一个,下载完成...

联想官网售后服务网点(联想官网售后服务热线)

联想3c服务中心是联想旗下的官方售后,是基于互联网O2O模式开发的全新服务平台。可以为终端用户提供多品牌手机、电脑以及其他3C类产品的维修、保养和保险服务。根据客户需求层次,联想服务针对个人及家庭客户...