news 2026/4/13 23:23:53

【jenkins】testng+allure报告

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【jenkins】testng+allure报告

testng+allure报告的配置。

前提:testng本地化配置ok,执行无问题。【选中testng.xml 右键执行,用例执行顺利无异常】

1 本地化执行引入Allure

1.1 maven项目中的pom.xml添加Allure相关依赖

pom.xml添加依赖如下,有allure和衍生的一些插件

<?xml version="1.0"encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.jbl</groupId><artifactId>testng0130</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><!--指定Allure版本--><allure.version>2.20.1</allure.version><!--AspectJ版本,用于方法拦截--><aspectj.version>1.9.9.1</aspectj.version></properties><dependencies><dependency><groupId>org.testng</groupId><artifactId>testng</artifactId><version>7.8.0</version><scope>test</scope></dependency><!--AllureTestNG集成--><dependency><groupId>io.qameta.allure</groupId><artifactId>allure-testng</artifactId><version>${allure.version}</version><scope>test</scope></dependency></dependencies><build><plugins><!--确保使用MavenSurefirePlugin运行TestNG--><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>2.22.2</version><configuration><suiteXmlFiles><suiteXmlFile>src/test/resources/testng/testng-sit.xml</suiteXmlFile></suiteXmlFiles><argLine>-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"</argLine><systemProperties><property><name>allure.results.directory</name><value>${project.build.directory}/allure-results</value></property></systemProperties><!--5.测试执行配置--><includes><include>**/*Test.java</include> </includes> <excludes> <exclude>**/*Abstract*.java</exclude></excludes><!--8.日志配置--><redirectTestOutputToFile>true</redirectTestOutputToFile></configuration><!--4.添加AspectJWeaver依赖--><dependencies><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>${aspectj.version}</version></dependency></dependencies></plugin></plugins></build></project>

1.2 testng的执行套间testng.xml中添加allure监听

<?xml version="1.0"encoding="UTF-8"?><!DOCTYPE suite SYSTEM"http://testng.org/testng-1.0.dtd"><suite name="acquire suite"><test name="apitest"verbose="1"><classes><classname="testcases.testLogin"/><classname="testcases.testLogin1"/></classes></test><!--配置allure的监听--><listeners><listenerclass-name="io.qameta.allure.testng.AllureTestNg"/></listeners></suite>

1.3 testng的执行用例添加Allure相关标识,方便收集报告并整理

packagetestcases;importbase.BaseTest;importio.qameta.allure.Epic;importio.qameta.allure.Feature;importorg.testng.annotations.Test;publicclasstestLogin{@Test@Epic("登录测试")@Feature("登录功能测试2")publicvoidtestLogin(){//System.out.println(getBaseUrl());System.out.println("admin");}}

1.3 本地调试,检查是否生成

#第一步、执行测试mvn clean test#第二步、查看报告allure serve target/allure-results

ps:输入第二步后,会立即弹出浏览器网页,显示测试报告。

2 jenkins配置流水线

2.1 jenkins下载插件并进行全局工具配置

allure integration plugin
maven integration plugin

2.2 新建流水线(freestyle类型)

注意,需要留意各个工具在流水线中可顺利执行。(跟命令行中可能会有差异,命令行在中成功的命令,jenkins流水线中不一定成功,因此我这里加了很多冗余的check,其实核心逻辑没几行)

流水线shell脚本

#!/bin/bashecho"正在执行testng测试。。。。。。。"echo"当前路径如下"pwdls-laecho"当前用户如下"whoamiecho"正在检查java版本"java-versionecho"正在检查maven版本"#这里本来应该直接用mvn -version,但是jenkins执行会报错,所以这里用绝对路径/opt/homebrew/bin/mvn-versionecho"正在检查allure版本"#这里本来应该直接用mvn -version,但是jenkins执行会报错,所以这里用绝对路径#allure --versionecho"正在进入工作目录。。。"cd/Users/user1/IdeaProjects/testng0130#echo "正在清理历史结果。。。"#rm -rf allure-results || trueecho"正在执行测试"/opt/homebrew/bin/mvn clean test-DsuiteXmlFile=resources/testng/testng-sit.xml-Dallure.results.directory=target/allure-resultsecho"测试已完成!"echo"检查结果路径"pwdls-la target/allure-resultspwdfind.-name"allure-results"-typed# 复制 allure-results 到 Jenkins 工作区cd$WORKSPACEecho"$WORKSPACE"mkdir allure-resultscp-r/Users/user1/IdeaProjects/testng0130/target/allure-results/*$WORKSPACE/allure-results

2.3 执行流水线

点击流水线的执行按钮,执行流水线。

小结:按如上操作便可完成testng的流水线搭建。
但是目前遗留一个问题,构建id里的allure报告是好的,但是最外层的allure报告是空的,还需继续研究,后续再说吧。
ps:这里调试的时候用的是mac本,因此不确定windows是否也ok。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/8 15:01:54

RDF(Resource Description Framework) 入门理解

RDF入门理解 1. RDF简介 资源描述框架&#xff08;RDF&#xff09;是一个在 Web 中表示信息的框架。定义一个RDF数据模型用于链接所有基于RDF的语言和规范。抽象语法有两个关键的数据结构&#xff1a; RDF图是主谓宾三元组的集合&#xff0c;其中元素可以是 IRI、空白节点或数…

作者头像 李华
网站建设 2026/4/10 18:16:52

SpringBoot+Vue 小区团购管理管理平台源码【适合毕设/课设/学习】Java+MySQL

摘要 随着互联网技术的快速发展和社区经济的兴起&#xff0c;小区团购模式因其便捷性和高效性逐渐成为居民日常生活的重要组成部分。传统的线下团购模式存在信息传递不及时、管理效率低下等问题&#xff0c;难以满足现代居民对高效、透明购物体验的需求。基于此背景&#xff0c…

作者头像 李华
网站建设 2026/4/9 13:19:09

ZZ039移动应用与开发赛项模块A—移动应用界面设计原型图XD参考答案(八)

ZZ039移动应用与开发赛项模块A—移动应用界面设计原型图XD参考答案(八) 文章目录 ZZ039移动应用与开发赛项模块A—移动应用界面设计原型图XD参考答案(八) 模块A:移动应用界面设计 任务1:用户登录界面设计(7.5分) 任务2:健康首页界面设计(7.5分) 任务3:预约记录界面…

作者头像 李华
网站建设 2026/4/8 5:26:03

人脸模糊图像清晰化技术

人脸模糊图像清晰化技术 人脸模糊处理&#xff0c;通过图像处理算法处理低分辨率的模糊图片得到高分辨率的清晰化图片&#xff0c;实现清晰化人脸&#xff0c;用于嫌疑人脸库比对、人脸布控。基于视频图像模糊处理&#xff0c;用于视频侦查过程中对模糊视频图片进行清晰化处理&…

作者头像 李华
网站建设 2026/4/8 2:08:47

智慧警务技战法

智慧警务技战法 在办案侦查过程中&#xff0c;积累了很多有效的技战法。将技战法通过智慧警务大数据平台实现&#xff0c;转化为智慧警务的战斗力&#xff0c;发挥智慧公安大数据平台的实战效能。智慧警务技战法&#xff0c;包括社会治安管理防控模型、侦查实战模型。社会治安…

作者头像 李华
网站建设 2026/4/12 17:46:46

2月1日面试题整理

1. Java 有哪些锁 锁是为了解决并发问题中数据不一致问题 从乐观/悲观角度&#xff1a; 悲观锁&#xff1a; 认为冲突一定会发生&#xff0c;操作前先上锁。如 synchronized、ReentrantLock。 乐观锁&#xff1a; 认为冲突不常发生&#xff0c;更新时对比版本。如 CAS 算法、…

作者头像 李华