《手把手教你》系列基础篇(八十二)-java+ selenium自动化测试-框架设计基础-TestNG测试报告-上篇(详解教程)

简介: 【6月更文挑战第23天】TestNG 是一个用于自动化测试的 Java 框架,它自动生成测试报告,包括 HTML 和 XML 格式。报告可在 `test-output` 文件夹中找到。要创建测试用例,可创建一个实现了 `@Test` 注解的方法。通过 `testng.xml` 配置文件来组织和执行测试。默认报告包括测试结果、失败点和原因。用户还能实现 `ITestListener` 和 `IReporter` 接口来自定义报告和记录器。

1.简介

  其实前边好像简单的提到过测试报告,宏哥觉得这部分比较重要,就着重讲解和介绍一下。报告是任何测试执行中最重要的部分,因为它可以帮助用户了解测试执行的结果、失败点和失败原因。另一方面,日志记录对于密切关注执行流程或在出现任何故障时进行调试很重要。默认情况下,TestNG 会为其测试执行生成不同类型的报告。这包括一个 HTML 和一个 XML 报告输出。TestNG 还允许其用户编写自己的报告程序并将其与 TestNG 一起使用。还有一个选项可以编写自己的记录器,TestNG 在运行时会通知这些记录器。

2.使用 TestNG 生成报告的方法

(1)Listeners− 为了实现监听器类,该类必须实现org.testng.ITestListener接口。当测试开始、完成、失败、跳过或通过时,TestNG 在运行时通知这些类。

(2)IReporters− 为了实现一个报告类,该类必须实现一个org.testng.IReporter接口。当整个套件运行结束时调用这些类。包含整个测试运行信息的对象在调用时传递给这个类。

3.HTML 和 XML 报告

TestNG 带有某些预定义的侦听器作为库的一部分。这些侦听器默认添加到任何测试执行中,并为任何测试执行生成不同的 HTML 和 XML 报告。报告默认在名为的文件夹下生成testoutput并且可以通过配置更改为任何其他文件夹。这些报告由特定于 TestNG 的某些 HTML 和 XML 报告组成。

3.1创建测试用例类

1.按照宏哥前边的方法,创建一个TestNG类,并命名为:TestReport。如下图所示:

2.然后进行脚本编辑,前面的测试类包含三个测试方法,其中testMethodOnetestMethodThree将在执行时通过,而testMethodTwo通过将false布尔值传递给 Assert.assertTrue 方法而失败,该方法用于测试中的真值条件。代码设计如下图所示:

3.参考代码如下:

package library;


import org.testng.Assert;

import org.testng.annotations.Test;


/**

* @author 北京-宏哥

*

* @公众号:北京宏哥

*

* 《手把手教你》系列基础篇(八十二)-java+ selenium自动化测试-框架设计基础-TestNG测试报告-上篇(详解教程)

*

* 2022年3月10日

*/


public class TestReport {


   @Test

   public void testMethodOne() {

       Assert.assertTrue(true);

   }


   @Test

   public void testMethodTwo() {

       Assert.assertTrue(false);

   }


   @Test(dependsOnMethods = { "testMethodTwo" })

   public void testMethodThree() {

       Assert.assertTrue(true);

   }

}

3.2创建testng.xml

1.在F:/workspace/Bjhg_Selenium/src中创建 testng.xml 执行测试用例。如下图所示:

2.参考XML文件内容如下:

<?xml version = "1.0" encoding = "UTF-8"?>

<suite name = "Simple HTML-XML Suite">

  <test name = "Simple HTML-XML test">

     <classes>

        <class name = "library.TestReport" />

     </classes>

  </test>

</suite>

3.3运行代码

1.选中testng.xml文件,右键Run AS点击Test Suit运行。如下图所示:

2.控制台输出,如下图所示:

3.4HTML 报告

1.打开项目的工作目录:F:/workspace/Bjhg_Selenium/test-output 文件夹。在默认 Web 浏览器上打开index.html。您将看到以下 HTML 报告,如下图所示:

3.5 XML 文件

1.在工作目录下用系统的默认 XML 编辑器中打开文件/work/testng/src$/test-output/testing-results.xml,您将在 XML 文件中看到以下内容 :

4.小结

默认情况下,TestNG 会生成多个报告作为其测试执行的一部分。这些报告主要包括 TestNG HTML 报告、TestNG 可发送电子邮件的报告、TestNG 报告 XML 和 JUnit 报告 XML 文件。这些文件可以在输出报告文件夹(在本例中为 test-output)下找到。

通过将属性useDefaultListeners的值设置为false ,可以在运行测试时禁用此默认报告生成。可以在使用 Ant 或 Maven 等构建工具时设置此属性。



每天学习一点,今后必成大神-

往期推荐(由于跳转参数丢失了,所有建议选中要访问的右键,在新标签页中打开链接即可访问):


Appium自动化系列,耗时80天打造的从搭建环境到实际应用精品教程测试

Python接口自动化测试教程,熬夜87天整理出这一份上万字的超全学习指南

Python+Selenium自动化系列,通宵700天从无到有搭建一个自动化测试框架

Java+Selenium自动化系列,仿照Python趁热打铁呕心沥血317天搭建价值好几K的自动化测试框架

Jmeter工具从基础->进阶->高级,费时2年多整理出这一份全网超详细的入门到精通教程

Fiddler工具从基础->进阶->高级,费时100多天吐血整理出这一份全网超详细的入门到精通教程

Pycharm工具基础使用教程

相关文章
|
9天前
|
测试技术
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
本文介绍了如何使用Pytest和Allure生成自动化测试报告。通过安装allure-pytest和配置环境,可以生成包含用例描述、步骤、等级等详细信息的美观报告。文章还提供了代码示例和运行指南,以及重构项目时的注意事项。
40 1
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
|
1天前
|
人工智能 安全 决策智能
OpenAI推出实验性“Swarm”框架,引发关于AI驱动自动化的争论
OpenAI推出实验性“Swarm”框架,引发关于AI驱动自动化的争论
|
2天前
|
存储 人工智能 Java
将 Spring AI 与 LLM 结合使用以生成 Java 测试
AIDocumentLibraryChat 项目通过 GitHub URL 为指定的 Java 类生成测试代码,支持 granite-code 和 deepseek-coder-v2 模型。项目包括控制器、服务和配置,能处理源代码解析、依赖加载及测试代码生成,旨在评估 LLM 对开发测试的支持能力。
9 1
|
10天前
|
监控 数据可视化 测试技术
软件测试中的自动化测试实践指南
【10月更文挑战第7天】 在软件开发的生命周期中,测试是确保产品质量的重要环节。随着技术的进步和应用的复杂性增加,自动化测试逐渐成为提升测试效率和覆盖范围的关键手段。本文将深入探讨自动化测试的基本概念、实施步骤及其在不同应用场景中的最佳实践。通过对自动化测试框架的选择、脚本开发、执行及维护的详细解析,帮助读者更好地理解和应用自动化测试技术,从而优化测试流程,提高软件质量。
21 2
|
9天前
|
测试技术 Python
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
本文介绍了使用Python的unittest框架来加载测试用例的四种方法,包括通过测试用例类、模块、路径和逐条加载测试用例。
24 0
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
|
9天前
|
测试技术 Python
自动化测试项目学习笔记(一):unittest简单运行(初始化,清除,设置测试行为)
本文介绍了Python的unittest框架的基础用法,包括测试初始化(setup)、清除(tearDown)函数的使用,以及assertEqual和assertGreaterEqual等断言方法,并展示了如何创建测试用例,强调了测试函数需以test_开头才能被运行。
29 0
自动化测试项目学习笔记(一):unittest简单运行(初始化,清除,设置测试行为)
|
12天前
|
Web App开发 设计模式 测试技术
自动化测试框架的搭建与实践
【10月更文挑战第5天】本文将引导你理解自动化测试框架的重要性,并通过实际操作案例,展示如何从零开始搭建一个自动化测试框架。文章不仅涵盖理论,还提供具体的代码示例和操作步骤,确保读者能够获得实用技能,提升软件质量保障的效率和效果。
|
13天前
|
中间件 测试技术 持续交付
软件测试中的自动化测试实践指南
【10月更文挑战第4天】 本文探讨了软件测试中自动化测试的重要性,并详细介绍了如何有效实施自动化测试。从选择合适的工具到设计测试用例,再到实际执行与持续集成,我们将一步步引导读者了解自动化测试的全过程。通过具体案例分析,我们展示了自动化测试在提高测试效率、保障软件质量方面的显著优势。无论是初学者还是资深测试工程师,都能从中获得实用的指导和启示。
36 1
|
13天前
|
Web App开发 敏捷开发 Java
自动化测试框架的选择与应用
【10月更文挑战第4天】在软件开发的海洋中,自动化测试如同一艘航船,帮助开发者们快速穿越测试的波涛。选择适合项目的自动化测试框架,是确保航行顺利的关键。本文将探讨如何根据项目需求选择合适的自动化测试框架,并分享一些实用的代码示例,助你启航。
|
13天前
|
分布式计算 Java 大数据
大数据-122 - Flink Time Watermark Java代码测试实现Tumbling Window
大数据-122 - Flink Time Watermark Java代码测试实现Tumbling Window
26 0