Allure报告和Jenkins集成

一、Allure介绍

Allure是一款非常轻量级并非常灵活的开源测试报告生成框架,能够生成美观易读的报告。它支持绝大多数测试框架,如:TestNG,Pytest,JUint等。简单易用,易于集成。

1、配置说明

1.1、Pytest框架集成Allure

pytest是Python的单元测试框架,非常方便易用。以下将介绍Allure集成到pytest中生成测试报告。

1.2、安装Allure Pytest Adaptor

Allure pytest adaptor是pytest的一个插件,通过它来生成Allure所需要的用于生成测试报告的数据。

安装命令:pip install pytest-allure-adaptor

使用:
在配置文件pytest.ini中添加参数即可。
–alluredir ./report #代表生成数据到report路径下

[pytest]
addopts=-s --alluredir ./report 
python_files=test_*.py 
python_classes=Test_*

此时生成的是json或xml文件!!!(allure生成的是json,adaptor生成的是xml)

1.3、转化成html可视化报告

安装Allure;
1.下载压缩包:allure-2.xx.x.zip
2.解压
3.将解压的bin目录配置到path系统环境变量

将json或xml转换成html测试报告:

  • 1.进入report上级目录执行命令:
    allure generate ./report/ -o ./report/result --clean
    (allure generate生成报告的固定用法;将当前目录下的report目录下的测试数据生成html测试报告,并且放到report的result目录下。–clean是先清空该目录下的测试报告生成新的报告)

  • 2.report/html目录下会生成index.html文件,即为可视化报告

  • 3.打开报告:allure open -h 127.0.0.1 -p 8883 ./report/result

为啥直接用浏览器打开测试数据不会正常显示出来呢??一直显示loading状态?

原因:index.html需要结果allure渲染之后,打开才能正常显示测试结果

解决方案:
两种方法:①allure open ; ②allure server。 前者用于在本地渲染和查看结果,后者用于在本地渲染后对外展示结果。这里我们使用allure open。在Terminal运行命令 allure open ./report/result(./report/result为alluer报告地址),如果不想每次都写命令,直接在main函数中执行.

1.4、allure.step

给测试脚本添加测试步骤或注释,让测试报告更加清晰明了。

from urllib import request
import allure
import pytest


class Test_adb():
    def test_3(self):
        print('\n333333333')

    @allure.step("第一步:测试test4")
    @pytest.mark.parametrize(argnames="data_test",argvalues=[(1,2,3),(4,5)],indirect=False,ids=None,scope=None)
    def test_4(self,data_test):
        print(data_test)
        print('\n4444444444')

    @allure.step("第一步:测试test5")
    def test_5(self):
        print('\n5555555555')

if __name__=='__main__':
    pytest.main("test_12.py")

result展示:
在这里插入图片描述

1.5、allure.attach

添加测试描述信息。目的:能够清楚知道每一步执行的信息。

方法:
allure.attach(“描述”,“需要强调的内容”)
注意:两个参数必备!!!

    @pytest.mark.run(order=1)
    def test_34(self):
            print('343434')
            allure.attach("错误信息:","test34断言失败")
            assert 1>2

在这里插入图片描述

1.6、allure.severity设置错误级别

添加严重级别。
目的:测试用例设置不同的严重级别,可以帮助测试和开发人员更直观的关注重要case。

方法:
@allure.severity(Severity)
参数解释:
Severity :严重级别(BLOCKER,CRITICAL,NORMAL,MINOR,TRIVIAL)
使用方法:
@allure.severity(allure.severity_level.CRITICAL)

@pytest.mark.run(order=1)
    @allure.severity(allure.severity_level.CRITICAL)
    def test_34(self):
            print('343434')
            allure.attach("错误信息:","test34断言失败")
            assert 1>2

result:在这里插入图片描述
allure说明:https://developer.aliyun.com/article/776633

FAQ

1、allure是自己生成数据,将生成的数据转化成report,并不是将pytest-html插件的结果转成图表,注意!!!

allure生成报告后,没有数据??
原因:pytest.main中指定的allure报告目录与通过allure generate将临时文件生成报告的路径不一致
allure是自己生成数据后,再将数据转换成html,生成命令是:addopts=-s --alluredir ./report
千万不要跟pytest的html报告搞混了

二、Jenkins集成介绍

Jenkins是一个开源软件项目,是基于java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

1、安装配置

安装:
1.jar包方式安装
安装依赖于java环境,必须首先在系统中安装jdk1.5版本以上,并且配置在系统环境变量中。
安装方式:

  • 下载jenkins.jar
  • 移动到要安装的目录,执行java -jar jenkins.war
  • 打开浏览器输入:localhost:8080

2.源码包安装

  • 官网下载jenkins安装包:点这里!
  • 傻瓜式安装好后,手动打开浏览器:localhost:8080
  • 安装各种插件

密码在这个路径下:C:\ProgramData\Jenkins.jenkins\secrets\initialAdminPassword
在这里插入图片描述

在github上创建一个仓库,并将本地代码上传:

echo "# qpp_pytest" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/ashelyqi/qpp_pytest.git
git push -u origin main

上传代码的具体步骤操作见:点这里!!

2、jenkins构建项目流程

2.1、jenkins安装allure插件

1.在jenkins系统管理->插件管理,点击可选插件
2.搜索Allure,选中安装
在这里插入图片描述

2.2、jenkins安装Allure commandline工具

1.进入Jenkins系统管理->全部工具安装
2.找到allure commandline ,点击安装
3.输入别名,并点击新增安装–选择解压*.zip/*.tar.gz
4.解压目录选择已下载好的allure-xx.zip包所在目录(一定要注意选择的版本要与实际安装的一致)
5.点击保存即可
在这里插入图片描述

2.3、jenkins新建一个项目

1.选择新建一个自由风格项目
在这里插入图片描述
2.输入项目描述,并进行源码管理配置。Repository URL指的是我们的github上的项目路径。
3.然后添加jenkins,输入github的账号登录到github,连接两个平台。

在这里插入图片描述

2.4、构建触发器

1、勾选构建触发器的Poll SCM #根据定时任务,查看github版本是否更新,如果更新则自动构建项目。
2、输入crontab命令:如*/1 * * * * 表示每分钟检查一次。每个*分别代表分时天周月。
在这里插入图片描述

2.5、构建pytest的执行命令

jenkins自动执行测试构建的新代码。
在这里插入图片描述
在这里插入图片描述

2.6、构建后生成测试报告以及bug原因分析

1.在jenkins添加构建后操作,选择Allure report
2.Path路径输入:生成的报告文件夹名称
注意:文件夹名称一定要与pytest中定义报告存放位置一致
在这里插入图片描述

3、配置发送邮件

添加测试报告接收邮件列表:
1.点击增加构建后操作步骤,选择Editable email notification。
2.点击Advanced Setting。
3.点击Triggers中的高级按钮,在recipient List配置接收者。
配置多个接收者时,中间用英文 “,” 隔开
在这里插入图片描述
配置jenkins邮件系统用户:
系统管理-系统设置-jenkins location
系统管理员邮件地址:xxx@xx.com

在这里插入图片描述
在这里插入图片描述

### Jenkins集成Allure教程 要在Jenkins中成功集成Allure以生成测试报告,可以按照以下方法操作: #### 1. 下载并安装必要的插件 为了实现AllureJenkins集成,首先需要确保已安装`Allure Plugin`。可以通过访问官方镜像站点获取最新版本的插件文件[^2]。 管理员需登录到Jenkins实例后,在 **Manage Jenkins → Manage Plugins → Available** 页面搜索 `Allure Report Plugin` 并完成在线安装;如果网络条件不允许,则可以选择手动下载 `.hpi` 文件并通过高级选项上传安装[^3]。 #### 2. 配置全局工具路径 进入 **Manage Jenkins → Global Tool Configuration** ,找到“Allure Commandline”部分,点击“Add Allure Commandline”。在此处定义Allure命令行工具的位置或者让系统自动检测默认位置[^5]。 #### 3. 创建或修改现有Pipeline Job 当新建一个多分支流水线或多阶段构建任务时,应指定源码仓库地址,并在脚本区域加入如下Groovy代码片段来调用Allure相关功能: ```groovy pipeline { agent any stages { stage('Test') { steps { sh 'mvn clean test' // 执行单元测试并将结果存储为XML格式 } } stage('Generate Reports') { steps { allure includeProperties: false, jdk: '', results: [[path: 'target/allure-results']] // 指定存放Allure数据的结果目录 } } } } ``` 上述脚本中的 `sh 'mvn clean test'` 命令用于执行Maven项目的测试目标,而后续的 `allure` 步骤则负责基于之前产生的原始数据渲染最终HTML形式的报表[^4]。 #### 4. 设置Post-Build Actions (可选) 对于传统风格的任务类型(Freestyle Jobs),可以在配置界面底部勾选 “Publish Allure report”,随后填写实际产出Allure XML文档所在的相对路径[^1]。 --- ### 注意事项 - 如果采用的是自定义Docker镜像部署方案,请确认基础映像已经预装好Java SDK、Maven以及其他可能需要用到的技术栈组件。 - 测试框架本身也需要支持导出兼容Allure解析标准的数据结构,比如JUnit/TestNG等流行库均具备此能力。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值