2026/2/7 1:39:56
网站建设
项目流程
重庆建站模板搭建,植物网站建设,我想弄个网站,aipage网站建设在上一篇文章【AI 驱动的自动化测试报告平台 ReportPortal#xff0c;让你的测试如虎添翼#xff08;Python 实战篇#xff09;】中#xff0c;我们详尽地阐述了 ReportPortal 与 Python 的集成流程#xff0c;展示了 Python 自动化测试项目报告在ReportPortal 上的展示。…在上一篇文章【AI 驱动的自动化测试报告平台 ReportPortal让你的测试如虎添翼Python 实战篇】中我们详尽地阐述了 ReportPortal 与 Python 的集成流程展示了 Python 自动化测试项目报告在ReportPortal 上的展示。本文将延续这一话题深入探讨 ReportPortal 与 Java 的集成实践。我们将详细介绍如何在 Java 项目中集成 ReportPortal包括必要的配置步骤、代码示例以及如何通过 ReportPortal 来管理和可视化 Java 测试结果。这将涵盖从设置 ReportPortal 配置pom.xmltestng.xml 到配置 Log4j2 或 Logback 等日志框架以及如何在 Java 测试用例中发送日志和测试结果到 ReportPortal。通过本文大家将能够理解 ReportPortal 在 Java 自动化测试中的作用并掌握如何利用它来提升测试流程的透明度和效率。我们将确保你能够通过实际的操作步骤和示例代码将 ReportPortal 无缝集成到你的 Java 项目中。准备工作1.下载 Maven 并配置好环境变量公众号回复 maven2.因为 ReportPortal 是更高版本的 JDK 编译的因此需要下载安装 JDK17并配置好环境变量公众号回复 JDK17创建 Maven 项目pom.xml 配置?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd modelVersion4.0.0/modelVersion groupIdorg.example/groupId artifactIdreportportal-java/artifactId version1.0-SNAPSHOT/version properties maven.compiler.source8/maven.compiler.source maven.compiler.target8/maven.compiler.target project.build.sourceEncodingUTF-8/project.build.sourceEncoding /properties dependencies !-- ReportPortal agent 的 testng 实现 -- dependency groupIdcom.epam.reportportal/groupId artifactIdagent-java-testng/artifactId version5.4.0/version scopetest/scope /dependency dependency groupIdcom.epam.reportportal/groupId artifactIdlogger-java-logback/artifactId version5.2.2/version /dependency !-- https://mvnrepository.com/artifact/com.epam.reportportal/logger-java-log4j -- dependency groupIdcom.epam.reportportal/groupId artifactIdlogger-java-log4j/artifactId version5.1.8/version /dependency !-- https://mvnrepository.com/artifact/org.testng/testng -- dependency groupIdorg.testng/groupId artifactIdtestng/artifactId version7.9.0/version scopetest/scope /dependency dependency groupIdorg.slf4j/groupId artifactIdslf4j-api/artifactId version2.0.7/version /dependency dependency groupIdorg.apache.logging.log4j/groupId artifactIdlog4j-slf4j2-impl/artifactId version2.19.0/version /dependency dependency groupIdorg.apache.logging.log4j/groupId artifactIdlog4j-core/artifactId version2.19.0/version /dependency dependency groupIdch.qos.logback/groupId artifactIdlogback-classic/artifactId version1.4.12/version /dependency dependency groupIdorg.awaitility/groupId artifactIdawaitility/artifactId version4.0.2/version /dependency !-- rest assured -- dependency groupIdcom.epam.reportportal/groupId artifactIdlogger-java-rest-assured/artifactId version5.3.6/version /dependency /dependencies build plugins plugin groupIdorg.apache.maven.plugins/groupId artifactIdmaven-compiler-plugin/artifactId version3.8.1/version configuration source17/source !-- 指定源代码兼容的 JDK 版本例如 17 -- target17/target !-- 指定生成的字节码兼容的 JDK 版本例如 17 -- /configuration /plugin plugin groupIdorg.apache.maven.plugins/groupId artifactIdmaven-surefire-plugin/artifactId version3.5.2/version configuration testFailureIgnoretrue/testFailureIgnore !-- 忽略测试失败 -- suiteXmlFiles suiteXmlFiletestng.xml/suiteXmlFile !-- TestNG 测试套件文件 -- /suiteXmlFiles properties property nameusedefaultlisteners/name !-- 禁用默认监听器 -- valuefalse/value /property /properties /configuration /plugin /plugins /build /projectTestNG 配置!DOCTYPE suite SYSTEM http://testng.org/testng-1.0.dtd suite nameTestSuite !-- 监听器配置 -- listeners listener class-namecom.epam.reportportal.testng.ReportPortalTestNGListener/ /listeners test nameTestSuite Test !-- 测试类 -- classes class nameReportPortalTestngTest/class /classes /test /suite日志配置?xml version1.0 encodingUTF-8? configuration properties property namepattern[%d{HH:mm:ss}] %-5p (%F:%L) - %m%n/property /properties appenders !-- 将日志发送到 ReportPortal -- ReportPortalLog4j2Appender nameReportPortalAppender PatternLayout pattern${pattern} charsetUTF-8/ /ReportPortalLog4j2Appender !-- 控制台 Appender -- Console nameConsole targetSYSTEM_OUT PatternLayout pattern${pattern}/ /Console /appenders loggers !-- 隐藏 ReportPortal 的代理日志 -- Logger namerp levelWARN/ Logger namecom.epam.reportportal levelWARN/ root levelall AppenderRef refReportPortalAppender/ !-- 添加控制台输出 -- AppenderRef refConsole/ /root /loggers /configurationReportPortal 配置rp.api.key TesterRoad_pqz5n76CSSahsZ1Bkj7DGxcnxFO6q5HI3DXrGMQ-4-hHRYcyqHYpUjdbGVUOd_3z rp.endpoint http://127.0.0.1:8080 rp.project superadmin_personal rp.launch TesterRoad_ReportPortal目录结构│ .gitignore │ pom.xml │ testng.xml │ ├─.idea │ .gitignore │ compiler.xml │ encodings.xml │ jarRepositories.xml │ misc.xml │ uiDesigner.xml │ vcs.xml │ workspace.xml │ └─src ├─main │ ├─java │ │ └─org │ │ └─example │ │ Main.java │ │ │ └─resources │ log4j2.xml │ reportportal.properties │ test_name_screenshot.png │ └─test └─java ReportPortalTestngTest.java编写测试脚本import com.epam.reportportal.listeners.LogLevel; import com.epam.reportportal.service.ReportPortal; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.testng.annotations.Test; import java.util.Date; import java.io.File; import java.io.IOException; /** * 日志及附件集成-TestNG */ public class ReportPortalTestngTest { private static final Logger LOGGER LogManager.getLogger(ReportPortalTestngTest.class); /* * 定义要上传到ReportPortal的附件 */ public static final String screenshot_file_path src\\main\\resources\\test_name_screenshot.png; /** * 使用 ReportPortal的 emitLog 方法将文件发送到 ReportPortal * param message * param file */ public static void log(String message, File file) { ReportPortal.emitLog(message, LogLevel.INFO.name(), new Date(), file); } Test public void test() throws IOException { String rp_message 上传附件到 ReportPortal; // 上传附件方式1 // ReportPortalMessage message new ReportPortalMessage(new File(screenshot_file_path),rp_message); // 上传附件方式2 ReportPortalTestngTest.log(rp_message,new File(screenshot_file_path)); LOGGER.info(rp_message); } }执行测试脚本进入项目根目录编译 mvn clean compile# 进入项目根目录执行测试 mvn test查看测试报告总结在本篇 Java 实战篇中我们深入探讨了如何将 ReportPortal 集成到 Java 测试项目中以提升测试流程的效率和质量。通过详细的步骤和实例代码我们展示了 ReportPortal 的核心功能包括测试结果的实时报告、深入的测试分析以及强大的日志管理。若你有新的想法和问题欢迎在评论区讨论。最后下方这份完整的软件测试视频教程已经整理上传完成需要的朋友们可以自行领取【保证100%免费】软件测试面试文档我们学习必然是为了找到高薪的工作下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料并且有字节大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。