干货 | Pytest 结合 Allure 生成测试报告

简介: 干货 | Pytest 结合 Allure 生成测试报告

测试报告在项目中是至关重要的角色,一个好的测试报告:

  1. 可以体现测试人员的工作量;
  2. 开发人员可以从测试报告中了解缺陷的情况;
  3. 测试经理可以从测试报告中看到测试人员的执行情况及测试用例的覆盖率;
  4. 项目负责人可以通过测试报告查看整个项目还余留多少问题,此次版本是否测试通过;

所以打造一个美观、一目了然的测试报告,清晰的反应质量问题,并提供给相关人员了解项目的整体状态,是非常必要的。

Pytest 结合 Allure 生成测试报告

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

安装

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

brew install allure

其他操作系统请参考:

https://docs.qameta.io/allure/#_installing_a_commandline

与 pytest 结合需要安装 allure-pytest 插件:

pip install allure-pytest

查看 Allure 版本:

allure --version

运行

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

pytest --alluredir=tmp/my_allure_results

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

第二步:打开报告,需要启动 allure 服务,在 terminal 中输入 allure serve [path/to/allure_results] ,代码如下:

allure serve path/to/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 服务将已经生成的测试报告打开。打开生成的测试报告,在默认的浏览器打开测试报告,报告如下:



上面的测试报告首页中展示了此次测试的测试用例数量以及成功用例、失败用例、跳过用例的比例、测试环境、SUITES、FEATURES BY STORIES 等基本信息。当与 Jenkins 做了持续置成后,TREND 区域还将显示,历次测试的通过情况。

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

  • Behaviors 页面,按照 FEATURES 和 STORIES 展示测试用例的执行结果;
  • Suites 页面,Allure 测试报告将每一个测试脚本,作为一个 Suite。在首页里点击 Suites 区域内的任何一条 Suite,都会进入 Suites 页面;
  • Graphs 页面,展示了此次测试结果的统计信息,比如测试用例执行结果状态、测试用例重要等级分布、测试用例执行时间分布等;
  • 测试用例详情页面,在 Suites 页面上点击任何一条测试用例,Suites 页面的右侧将展示这条用例的详细执行情况。在这个页面可以看到测试用例的每个步骤,以及每个步骤的执行结果,包括步骤里面添加的链接、图片、网页片段或者视频作为重要信息的补充。在这里可以一目了在的看到用例失败的原因。更多技术文章
相关文章
|
6月前
|
存储 设计模式 测试技术
怎么基于Pytest+Requests+Allure实现接口自动化测试?
该文介绍了一个基于Python的自动化测试框架,主要由pytest、requests和allure构成,采用关键字驱动模式。项目结构分为六层:工具层(api_keyword)封装了如get、post的请求;参数层(params)存储公共参数;用例层(case)包含测试用例;数据驱动层(data_driver)处理数据;数据层(data)提供数据;逻辑层(logic)实现用例逻辑。代码示例展示了如何使用allure装饰器增强测试报告,以及如何使用yaml文件进行数据驱动。
213 0
|
2月前
|
测试技术
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
本文介绍了如何使用Pytest和Allure生成自动化测试报告。通过安装allure-pytest和配置环境,可以生成包含用例描述、步骤、等级等详细信息的美观报告。文章还提供了代码示例和运行指南,以及重构项目时的注意事项。
276 1
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
|
2月前
|
测试技术 Python
自动化测试项目学习笔记(四):Pytest介绍和使用
本文是关于自动化测试框架Pytest的介绍和使用。Pytest是一个功能丰富的Python测试工具,支持参数化、多种测试类型,并拥有众多第三方插件。文章讲解了Pytest的编写规则、命令行参数、执行测试、参数化处理以及如何使用fixture实现测试用例间的调用。此外,还提供了pytest.ini配置文件示例。
53 2
|
3月前
|
SQL JavaScript 前端开发
基于Python访问Hive的pytest测试代码实现
根据《用Java、Python来开发Hive应用》一文,建立了使用Python、来开发Hive应用的方法,产生的代码如下
81 6
基于Python访问Hive的pytest测试代码实现
|
4月前
|
前端开发 关系型数据库 测试技术
django集成pytest进行自动化单元测试实战
在Django项目中集成Pytest进行单元测试可以提高测试的灵活性和效率,相比于Django自带的测试框架,Pytest提供了更为丰富和强大的测试功能。本文通过一个实际项目ishareblog介绍django集成pytest进行自动化单元测试实战。
67 3
django集成pytest进行自动化单元测试实战
|
4月前
|
Web App开发 安全 测试技术
自动化测试中的Python魔法:使用Selenium和pytest框架
【8月更文挑战第31天】 在软件开发的海洋中,自动化测试是确保航行安全的灯塔。本文将带你探索如何利用Python语言结合Selenium和pytest框架,搭建一套高效的自动化测试体系。我们将从基础设置讲起,逐步深入到编写测试用例,最后通过一个实战案例来展示如何在实际项目中运用这些工具。文章旨在为读者提供一套清晰的自动化测试解决方案,让你的开发之旅更加顺畅。
|
5月前
|
Shell Python
`pytest-httpserver`是一个pytest插件,它允许你在测试期间启动一个轻量级的HTTP服务器,并模拟HTTP请求和响应。
`pytest-httpserver`是一个pytest插件,它允许你在测试期间启动一个轻量级的HTTP服务器,并模拟HTTP请求和响应。
|
5月前
|
监控 Python
`pytest-qt` 是一个用于在 Qt 应用程序中进行 GUI 测试的 pytest 插件。
`pytest-qt` 是一个用于在 Qt 应用程序中进行 GUI 测试的 pytest 插件。
|
7月前
|
测试技术 iOS开发
pytest Mark标记测试用例
使用`pytest.mark`进行测试用例分组和筛选,如`@pytest.mark.webtest`。通过`pytest -m`参数执行特定标记的用例,例如`pytest -s test_command_param.py -m webtest`。同时,pytest支持内置的skip、skipif和xfail功能来管理特殊用例:skip始终跳过,skipif条件满足时跳过,xfail则标记预期失败的测试。
|
6天前
|
监控 JavaScript 测试技术
postman接口测试工具详解
Postman是一个功能强大且易于使用的API测试工具。通过详细的介绍和实际示例,本文展示了Postman在API测试中的各种应用。无论是简单的请求发送,还是复杂的自动化测试和持续集成,Postman都提供了丰富的功能来满足用户的需求。希望本文能帮助您更好地理解和使用Postman,提高API测试的效率和质量。
35 11