Selenium WebDriver 中的 XSLT 报告

XSLT 报告

Selenium 框架中的 XSLT 报告是一个非常重要的功能,用于进一步增强 TestNG 提供的默认报告系统。它以非常用户友好的方式增强了 TestNG 的报告功能。它还具有更用户友好的 UI 和对测试套件结果的详细描述。

Selenium 中的 XSLT 是什么?

Selenium 中的 XSLT 是一种将 XML 文档转换为其他 XML 文档的语言。我们可以通过使用 XSLT 添加/删除 XML 文件中的属性和元素来定制输出文件。这有助于快速解释结果,并且所有浏览器都支持它。它使用 XPath 来遍历 XML 文档中的元素和属性。XSLT 代表可扩展样式表语言转换。

以下是编程中最常用的 XSL 元素

  • <xsl:stylesheet> 它定义了此文档是一个 XSLT 样式表文档。
  • <xsl:if> 用于对 XML 文件的内容进行条件测试。
  • <xsl:template> 用于构建模板。
  • <xsl:apply-templates> 用于将模板应用于元素。
  • <xsl:choose> 与 <xsl:otherwise> 和 <xsl:when> 结合使用以表达多个条件。
  • <xsl:for-each> 用于选择指定节点的所有 XML 元素。
  • <xsl:value-of> 用于提取所选节点的值。
  • <xsl:sort> 用于对输出进行排序。

生成 XSLT 报告的先决条件

以下是生成 XSLT 报告的先决条件。

1) 应该安装 ANT 构建工具(对于 XSLT 报告功能,必须安装 ANT)。ANT 用于编译源代码和创建构建。它还具有很强的可扩展性。有关下载和安装 ANT 的步骤,请参阅此链接

2) 已下载 XSLT 包。

3) 应由 TestNG 执行的 Selenium 脚本。

在此示例中,我们将讨论 Selenium Webdriver 中的 XSLT 报告。

在 Selenium 中生成 XSLT 报告

在此场景中,我们将使用 Guru99 演示站点来说明生成 XSLT 报告。

场景:您将自动化并为以下场景生成 XSLT 报告

Generate XSLT Report in Selenium

  • 登录应用程序。

Generate XSLT Report in Selenium

  • 从应用程序中注销。

    Generate XSLT Report in Selenium

现在,我们将按照以下步骤在 Selenium 中生成 XSLT 报告。

步骤 1) 对于上述场景。创建并执行 Guru99 演示站点的 Selenium 脚本。

import org.openqa.selenium.Alert;		
import org.openqa.selenium.By;		
import org.openqa.selenium.WebDriver;		
import org.openqa.selenium.firefox.FirefoxDriver;		
import org.testng.Assert;		
import org.testng.annotations.Test;		
    		
public class Testing {				
    WebDriver driver= new FirefoxDriver();					

    @Test(priority=1)			
    public void Login() 					
    {		
        //Launching the Site.		
        driver.get("https://demo.guru99.com/V4/");					
                        		
        //Login to Guru99 		
        driver.findElement(By.name("uid")).sendKeys("mngr34926");							
        driver.findElement(By.name("password")).sendKeys("amUpenu");							
        driver.findElement(By.name("btnLogin")).click();					
        //Verifying the manager home page		
        Assert.assertEquals(driver.getTitle(),"Guru99 Bank Manager HomePage" );					
    }		
    		
    @Test(priority=2)			
    public void verifytitle()					
    {		
        //Verifying the title of the home page		
        Assert.assertEquals(driver.getTitle(),"Guru99 Bank Manager HomePage" );					
        }		
    		
    @Test(priority=3)			
    public void Logout()					
    {		
        driver.findElement(By.linkText("Log out")).click();					
        Alert alert=driver.switchTo().alert();			
        alert.accept();		
        //Verifying the title of the logout page		
        Assert.assertEquals(driver.getTitle(),"Guru99 Bank Home Page" );					
    }		
}	

步骤 2) 从此链接下载 XSLT 报告包

Generate XSLT Report in Selenium

解压上述文件夹,您将获得以下项目

  • build.xml
  • testng-results.xsl

Generate XSLT Report in Selenium

步骤 3) 解压文件夹并复制所有文件,然后粘贴到项目主目录,如下图所示。

Generate XSLT Report in Selenium

步骤 4) 在此步骤中,从 eclipse 运行 build.xml 文件,如下图所示

Generate XSLT Report in Selenium

右键单击 build.xml,然后单击“运行方式 Ant 构建”。

Generate XSLT Report in Selenium

然后会打开一个新窗口。现在选择选项“generateReport”。

Generate XSLT Report in Selenium

点击“运行”按钮。它应该会生成报告。

验证 XSLT 报告

构建成功并移动到项目主目录后。您将找到 testng-xslt 文件夹。

Verifying XSLT Report

在此文件夹内,您将找到 index.html 文件,如下图所示

Verifying XSLT Report

现在在任何支持 javascript 的浏览器(如 Firefox 或 Chrome)中打开此 HTML 文件。您将看到如下图所示的报告。饼图报告更清晰地表示测试状态。筛选功能允许用户根据设置的条件筛选结果。

Verifying XSLT Report

您将看到饼图显示通过、失败和跳过测试的百分比。

要以常规格式显示结果,请单击窗格左侧的默认套件。它应该显示每个测试的详细信息,如下图所示

Verifying XSLT Report

现在我们强制使测试通过、失败和跳过。

要查看每种测试结果类型的报告,我们需要在以下方法中进行一些更改。

  1. verifytitle():在 Assert 中,我们传递了错误的预期页面标题。当代码执行时,它与预期标题不匹配。因此导致测试失败。
  2. Logout():在此方法中,我们通过使用 skipexception 强制跳过测试。因此,当代码执行时,此方法将被跳过。

通过这样做,我们尝试借助饼图显示 XSLT 报告。它将显示通过、失败和跳过测试的测试结果。

@Test(priority=2)		
    public void verifytitle()					
    {		
    	//Verifying the title of the home page		
    	Assert.assertEquals(driver.getTitle(),"Guru99 Bank Manager" );					
    }

Verifying XSLT Report

@Test(priority=3)		
    public void Logout()					
    {		
        throw new SkipException("Skip this");			
        		
    }

Verifying XSLT Report

现在我们每种结果状态都有一个测试,即通过、失败和跳过。

执行脚本和 build.xml 后。验证 XSLT 报告,如下图所示

Verifying XSLT Report

测试报告更用户友好且易于理解。您还可以通过在下面的屏幕中选择复选框来筛选结果。

Verifying XSLT Report

注意:在截图中,“config”选项显示已配置的测试。在大型项目中,有很多配置代码。因此它通常用于大型项目。

摘要

XSLT 报告需要以非常用户友好的方式增强 TestNG 报告功能。

  • XSLT 代表可扩展样式表语言转换。
  • 下载和安装 ANT 构建请参阅给定链接。
  • 在 Selenium 中生成了 XSLT 报告并从 eclipse 执行了 build.xml。
  • 从项目文件夹验证 XSLT 报告。
  • 验证每种结果状态类型的 XSLT 报告。