pytest结合allure-pytest插件生成allure测试报告

Allure测试报告概述

1. Allure 报告生成的原理

Allure 报告是基于标准的 xUnit 结果输出,再添加补充数据而生成的,其报告的生成基于如下两个步骤。

  • 在测试执行期间,一个名为 Adapter 的小型 library 被连接到测试框架中,并将所有测试执行的信息保存到 XML 文件中。对于大多数编程语言下的流行测试框架(例如 python 语言中的 pytest,Java 中的 jUnit 等),Allure 都默认为其提供了 Adapter。

  • 获取 XML 文件后,Allure 会将这些 XML 文件转换为 HTML 报告。这一步骤可以通过持续集成系统的 Allure 插件,或者命令行命令实现。

2. Allure 报告特点

Allure 报告之所以受到开发、测试,甚至管理人员的推崇,是因为它有如下明显的特点。

  • 从开发/质量保证的角度看,Allure 报告可以缩短常见缺陷的生命周期。

可以将测试失败划分为 bug 和损坏的(Broken)测试,还可以配置日志、步骤、固定装置、附件、时间、历史记录,以及与 TMS 的集成和 Bug 跟踪系统,方便将 Task 与负责 Task 开发人员和测试人员绑定,从而使开发和测试人员第一时间掌握所有信息。

  • 从管理者的角度看,Allure 提供了一个清晰的“全局”视野。

包括本次测试涵盖了哪些功能,Bug 在哪个 case 用例中被发现,以及整体测试用例、单条测试用例的执行时间等信息。

下图是一个Allure测试报告的大概预览。

 二、配置allure-pytest

  1. 下载,解压,配置path路径

    http://github.com/allure-framework/allure2/releases

    path路径配置:allure安装目录

    验证:allure --version

    问题:dos可以验证但是pycharm验证失败,怎么办,重启pycharm

  2. 生成json格式的临时报告

    --alluredir ./temp

3.生成allure报告(参数解释)

allure generate 命令固定的

./temp 临时的json格式报告的路径

-o 输出output

./report 生成的allure报告的路径

--clean 清空原来的报告

ps:可以把--alluredir ./temp写到pytest.ini文件里面 如下

[pytest]
addopts = -vs --alluredir ./temp
testpaths = ./testcase
python_files = test_*.py
python_classes = Test*
python_functions = test
markers =
    somke:冒烟用例
    usermanage:用户管理模块

run.py里运行测试用例

if __name__ == '__main__':
   
    pytest.main(['-vs','./testcase/ceshiren'])    #运行什么文件?
    # os.system('allure generate ./temp -o ./report --clean')  #生成allure报告

 

allure报告样式 左边图标是我进行了自定制 

allure还是很灵活的 可以自己去修改配置文件 选择加一些东西 比如截图或者是环境等等

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux下使用Allure生成测试报告的步骤如下: 1. 执行命令`allure generate allure_reports -o allure_reports/html --clean`来生成测试报告。其,`allure_reports`是存放json文件的目录,`allure_reports/html`是存放html报告的目录,可以直接打开html文件来预览报告。 2. 执行命令`allure serve allure_reports`来启动Allure服务,展示测试报告。其,`allure_reports`是存放json文件的目录。 以下是一个完整的使用Allure生成测试报告Python代码示例: ```python #!/usr/bin/env python # -*- coding: utf-8 -*- # @Auth : xxx # @Time : 2020/09/29 17:24 import pytest import allure @allure.feature("登录功能") class Test_alls(): @allure.story("正常登录") @allure.severity("blocker") @allure.tag("最重要","回归测试") @allure.description("用例描述:使用正确的手机号和密码登录") @allure.title("登录功能:正常登录") @allure.step(title="allure通过注解方式完成内容的展示,setp表示测试步骤1...") def test_setup(self): """ 用例描述:使用正确的手机号和密码登录 """ print("我就是打酱油的setup") @allure.step(title="run就是一个正常的方法.") def test_run(self): allure.attach("自定义描述1", "描述内容,自定义") print("我要运行") assert True def test_skip(self): print("我要跳过") @allure.severity(allure.severity_level.BLOCKER) # 严重级别 @allure.testcase("http://www.baidu.com/", "测试用例的地址") @allure.issue("http://music.migu.cn/v3/music/player/audio", "点击可跳转到bug地址") def test_error(self): with allure.attach("自定义描述1", "我需要让他进行错误"): print("我错误了") assert False ``` 通过上述步骤和示例代码,你可以在Linux下使用Allure生成测试报告。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [linux下allure安装及生成测试报告](https://blog.csdn.net/bang152101/article/details/108874136)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值