java - 如何在 Jenkins 控制台输出中显示测试用例详细信息?
问题描述
我想在 Jenkins 控制台输出中运行 selenium testng 执行时显示 Excel(XLSX) 测试用例 ID、描述和状态,以下是格式。
TC_ID|Test Cases Description|Status
TC01|Verify Login Home|PASS
TC02|Verify Login Screen|FAIL
如果有人做过这种类型的模型,请帮助我在 Jenkins 输出控制台中实现这一点。
解决方案
如果您在项目中使用 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 中,然后在您的方法中一一打印。
推荐阅读
- php - 如何在 2 个日期之间取整?
- react-native - 在 react-native ^60 上手动添加库
- plsql - 在新 QUERY 的 LOOP 中使用游标
- javascript - 无法通过 GAS 更新 github 存储库上的 json
- exception - 如何在尝试使用资源时抛出关闭资源的异常?
- sql - 从 Postgres 中的字符串中提取特定长度的数量
- jquery - 搜索表单中的最佳匹配自动完成
- enzyme - 酶 - 如何在单击时模拟按住 shift 键?
- sql - SQL Server:从@variable_table_name 中选择(嵌套变量的问题)
- angular - jqxcalender 中的错误:未定义全球化