如何在 Selenium 中生成范围报告

已发表: 2021-06-21

在 selenium 中用于测试自动化的开源库是 ExtentReports。 测试框架; NUnit、JUnit 等可以与该库集成。 在 Selenium 中通过 TestNG 和 JUnit 框架创建了内置报告,但 Extent 报告仍然是 selenium 自动化测试人员的首选。 selenium 中范围报告可以更深入地了解自动化脚本的执行。 结果显示为饼图,基本上是 HTML 文档。 是快照之类的详细信息,并且可以通过库生成自定义日志。

成功运行自动化测试后,测试人员将生成测试执行报告。 TestNG 提供了默认报告,但未提供详细信息。 借助 ExtentReport API 的适用性,可以通过简单的配置生成交互式报告。 该库支持 JUnit、NUnit 和 TestNG 等 Java 和 .Net 框架。

范围报告maven的依赖关系

资源

硒范围报告包括两类:

目录

1. ExtentReports 类

测试人员指定一个路径,并根据指定的路径,从 ExtentReports 类生成 HTML 报告。 要么生成新报告,要么覆盖现有报告。 它是根据布尔值决定的。 默认布尔值为“true”,这意味着将覆盖过去存在的所有数据。

2.ExtentTest类

测试步骤通过 ExtentTest 类记录到通过上述方法生成的 HTML 报告中。

3. 扩展 HtmlReporter

此类创建一个 HTML 文件。

列出的内置函数可以与下面列出的类一起使用。

  • startTest:执行测试中一个case的前置条件
  • endTest:执行测试中case的后置条件。
  • Log方式:通过Log将测试中每一步的状态记录到生成的HTML报告中。
  • 刷新:创建一个新报告,删除先前报告中的数据。

以下值用于指示测试的状态:PASS、SKIP、FAIL 和 INFO。

如何创建范围报告

生成范围报告的一些先决条件是:

  • Java的预安装和设置。
  • TestNG的安装。
  • 下载范围报告罐(版本 2.41.2)。
  • 允许配置 HTML 报告的 extent-config.xml 要求。

生成范围报告所需遵循的基本步骤是:

  • 将创建一个测试项目。
  • 要下载报告 jar 文件的范围。
  • 将范围报告 jar 文件添加到项目中。
  • 创建了一个已实现的类。

生成范围报告的步骤

  • 通过导入一个jar文件extentreports-java-2.41.2.jar,可以在selenium的WebDriver中生成范围报告。 下载后,jar 文件内容将被提取到一个目录中。
  • 从下载的 ZIP 文件中提取的 Jar 文件将被添加到构建项目中。 使用选项构建路径 -> 配置构建路径。
  • 为通过以下代码报告的范围新创建了一个 Java 类。

资源

代码说明

使用 startTest 方法,测试执行开始。 范围报告的对象被初始化。 范围报告对象使用任何用户定义的路径作为传递给它的参数。

@beforeclass:代码演示了范围报告的使用。

@test:通过此类自动执行以下操作:

  • 通过 URL www.google.com打开 chrome 浏览器
  • 页面标题将在打开后使用预期的值进行验证。
  • 测试案例的状态将使用范围报告日志方法记录为 PASS 或 FAIL。

@afterclass:用于执行测试后置条件的代码包含在此类中。 它包括测试结束或报告刷新的代码。 如果不使用方法 flush(),将不会生成selenium 中的范围报告。

在范围报告中捕获屏幕截图

1.通过捕获的方法

  • 在测试期间使用屏幕截图有几个好处。
  • 如果软件开始出现错误,那么测试人员可以通过观察屏幕截图来识别问题。
  • 因此,如果测试执行遇到任何问题,屏幕截图将允许测试人员调试测试脚本。
  • 仅应在测试失败期间捕获屏幕截图,因为捕获会消耗更多内存。
  • 以下用于捕获屏幕截图的代码取自

资源

2. 代码说明

  • 当前的 selenium WebDriver 通过 getScreenShotAs() 方法捕获为屏幕截图。 然后以各种形式的输出存储。

文件 scrFile = ((TakesScreenshot) 驱动程序).getScreenshotAs(OutputType.File);

  • 文件的一个对象通过getScreenShotAs 方法返回并存储在文件的一个变量中。 使用此方法时,必须强制转换 Web 驱动程序的实例以进行截图。

File Dest = new File(“scr/../Errimages/” + System.currentTimeMillis()+ “.png”);

  • 通过上述代码在文件夹“src”中创建了一个名为“ErrImages”的文件夹。 文件保存在创建的文件夹中,文件名作为当前系统的时间。

字符串 errflpath = Dest,getAbsolutePath();

Fileutils.copyFile(scrFile, Dest);

返回路径;

  • 生成的错误图像被复制到目标文件夹中。

3.日志方法

  • log 方法中使用了内置方法。 Extent 类的 addScreenCapture 用于捕获屏幕截图,然后附加到生成的范围报告中。

test.log(LogStatus.Fail,test.addScreenCapture(capture(driver))+ “测试失败”);

范围报告的优点

  • 范围报告的使用很容易。
  • 饼图用于显示结果。
  • 提供了测试通过案例的百分比。
  • 以自然的方式添加环境细节的能力。
  • 与其他报告相比,范围报告提供了定制服务。
  • 通过 extent API 可以生成更多的交互式报告。 交互式报告可能采用图形视图、每个测试步骤中的屏幕截图、仪表板视图和可以通过电子邮件发送的报告的形式。
  • 可以与 JUnit、 TestNG和 NUnit 框架集成
  • 通过为所有并行运行生成单个报告,可以并行执行测试运行。
  • 可以配置报告。
  • 对于每个测试用例的执行,都会显示花费的时间。
  • 可以轻松跟踪单个套件中多个测试用例的运行。
  • 根据测试报告,可以过滤掉结果。 此外,可以通过通过/失败/信息选项过滤掉逐步结果。
  • 为回归/功能等类别提供报告分类。
  • 测试步骤的日志可以添加到报告中。

Selenium 中的扩展报告示例

举个例子让你了解extent report maven的生成过程。

第 1 步:将创建一个 maven 项目和一个类 BasicExtentReport.java 并添加此处可用的代码

  • 从“ExtentHtmlReporter”类生成一个 HTML 独立文件。
  • 此类接受“ExtentHtmlReporter(java.io.File)”和路径“ExtentHtmlReporter(java.lang.String filePath)”。
  • 传递文件路径以保存报告。
  • 'ExtentHtmlReporter' 类的方法 config() 允许各种配置选项。 可以通过代码更改项目以更改范围报告的外观,包括时间戳、报告名称等。
  • 测试的每个步骤的状态由“AfterMethod”报告,从而更新测试状态,如通过、失败、跳过等。在发生任何错误时,会生成一条消息以提供信息。 它是通过“result.getThrowable()”完成的。
  • 状态标签是使用 MarkupHelper 类创建的,该类也为报告状态着色。

第 2 步:通过创建 testng.xml 文件来传递浏览器的操作系统和参数。 该代码可在上述网站上找到。

第三步:在 pom.cml 文件中添加另一个代码。

Step4:运行程序生成结果报告

资源

要查看失败报告,请单击失败的测试。 这将显示测试状态以及测试失败的原因。

与范围报告相关的一些其他事项是:

  • 为了美观,可以更改报表中存在的主题。
  • 根据用户的方便,仪表板视图可以隐藏或显示。
  • 在运行多个测试的情况下,可以逐步搜索一个测试用例。
  • 向用户显示运行测试所用的总时间,包括开始时间和结束时间。
  • 报告中存在其他过滤器。 可以根据测试的状态过滤结果,例如通过的测试、失败的测试或仅存在信息的测试用例。

从世界顶级大学在线学习软件课程获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。

结论

对于任何可定制报告的生成,范围报告是最好的方法。 作为一个易于使用 selenium 配置的开源库,范围报告无疑已成为所有自动化测试人员的最佳选择。 本文简要讨论了范围报告、如何生成它们以及它们的用处。 可以通过作为生成范围报告的基础的软件编程知识来获得好处。

如果您愿意学习和探索软件编程的好处,请查看upGrad提供的软件开发执行 PG 计划 - 全栈开发专业化课程。 这是一门专为 21 至 45 岁年龄段的入门级专业人士设计的课程。 该课程提供了一个在线讲座和互动课程的平台,提供实践经验,为顶级行业的就业提供保证。 我们的团队随时为您解答任何疑问。

什么是 Selenium 报表生成器?

Selenium Report Builder 或 Selenium IDE 是 Selenium 的 Firefox 插件,它有助于创建和编辑 Selenium 测试用例。 它使自动化过程更加高效,并减少了创建不同报告所需的工作量。 这是一种运行测试的舒适方式,并提供当前状态的概述。 报告以各种格式生成,例如文本、PDF、CSV、HTML 等。

使用 Selenium 可以自动测试什么?

Selenium 是一种用于自动化测试 Web 应用程序的工具,可用于回归测试。 Selenium 可以自动化用户在浏览器中可以执行的任何操作。 大多数网站都有某种功能,可以让员工更轻松地完成订购库存、处理订单、更新网站等任务。Selenium 可用于测试基于 Web 的应用程序和网站。 它是一种高级语言,支持各种编程语言,如 JAVA 和 C#。 Selenium 用于自动化浏览器,并为 Web 应用程序开发人员提供编写自动化测试以针对 Web 应用程序运行的能力。

什么是硒网格?

Selenium Grid 是一个允许跨多个浏览器(或其他网格节点)运行自动化测试的工具。 它允许同时使用多个配置(位置、浏览器、操作系统)和多个浏览器并行执行这些测试。 测试本身可以在无头模式下运行,因此根本不需要任何 GUI。 Grid 提供异步作业执行,并能够同时管理数百个作业。 因此,Selenium 网格是运行测试用例的中心辐射模型。 网格允许用户汇集多个浏览器来运行单个测试用例。 设置完成后,它可用于按需或按计划跨多台机器或浏览器运行测试。 Selenium Grid 可用于并行化测试执行、扩展测试和增加测试覆盖率。