首页 > 解决方案 > 如何在 Jenkins 控制台输出中显示测试用例详细信息?

问题描述

我想在 Jenkins 控制台输出中运行 selenium testng 执行时显示 Excel(XLSX) 测试用例 ID、描述和状态,以下是格式。

TC_ID|Test Cases Description|Status
TC01|Verify Login Home|PASS
TC02|Verify Login Screen|FAIL

如果有人做过这种类型的模型,请帮助我在 Jenkins 输出控制台中实现这一点。

标签: javaseleniumjenkinstestng

解决方案


如果您在项目中使用 TestNG,则使用Reporter类记录的任何内容也将打印在 Jenkins 控制台输出中:

Reporter.log("This will be displayed in the TestNG report AND in Jenkins console");

注意:您需要添加以下导入:

import org.testng.Reporter;

有关在 Jenkins 中创建 TestNG 项目的步骤,请参阅此链接。或者,您也可以创建一个 Maven 项目,您的 pom 文件将在其中执行您的 TestNG 测试。

现在,如果您想从 excel 文件中获取数据,您可以使用Apache POI。有关从 excel 读取数据的示例,请参阅此链接。

如果您想在您的测试用例名称旁边打印 PASS、FAIL 状态,您可以使用ITestResult. 假设您在@AfterMethod方法中打印数据,您会执行以下操作 -

@AfterMethod
public void afterSuite(ITestResult result)
{
  if(result.getStatus() == ITestResult.SUCCESS)
    {
      //pass
    }
  else if(result.getStatus() == ITestResult.FAILURE)
    {
            //fail
    }

  else if(result.getStatus() == ITestResult.SKIP )
    {    
             //skip
    }
}

@AfterSuite现在,您可以将每个相应的测试方法结果与从 excel 文件中读取的名称一起存储,将其存储在 Map 中,然后在您的方法中一一打印。


推荐阅读