news 2026/4/18 3:36:23

【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/18 3:35:40

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

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

作者头像 李华
网站建设 2026/4/18 3:36:12

车载诊断架构 --- 诊断时间参数P2 P2*以及NRC 78间隔时间

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 对抗焦虑的几点人生建议,第一,放下"应该"的执念。社会对每个年龄段都有一套"应该":25岁该稳定,30岁该成家,35岁该高管…但…

作者头像 李华
网站建设 2026/4/18 3:33:17

销冠一走,客户全跑?2026年,你的销售团队该彻底换种活法了!

深夜&#xff0c;手机屏幕突然亮起&#xff0c;销售总监的信息让你睡意全无&#xff1a;“李总&#xff0c;王经理刚交辞呈&#xff0c;他手上的大客户可能都要跟走了。”你心头一紧——这已经是今年第二次了。培养一个销冠要两年&#xff0c;可带走客户只需要一封辞职信。如果…

作者头像 李华
网站建设 2026/4/17 22:48:32

30岁灵魂40岁重量:如何突破认知局限,跳出舒适圈,挑战不可能

打破思维的牢笼:当30岁的你,拥有40岁的灵魂 目录 打破思维的牢笼:当30岁的你,拥有40岁的灵魂 一、被琐事绑架的大脑:思考是一种“稀缺资源” 认知负荷理论 二、看似自由,实则被“认知框架”绑架 这些“认知框架”,是社会、家庭、教育给你灌输的“标准答案” 主动跳出“舒…

作者头像 李华