我使用带有 testng 和 Extent 报告的黄瓜 java 设计了一个自动化框架。我使用浏览器堆栈在多个环境中运行单个功能文件,我想为在范围报告上执行的每个场景捕获浏览器和环境信息,以便了解该功能在哪个特定浏览器上失败。
附上我正在寻找的屏幕截图。
我使用带有 testng 和 Extent 报告的黄瓜 java 设计了一个自动化框架。我使用浏览器堆栈在多个环境中运行单个功能文件,我想为在范围报告上执行的每个场景捕获浏览器和环境信息,以便了解该功能在哪个特定浏览器上失败。
附上我正在寻找的屏幕截图。
在测试用例执行之前获取它们,并将测试的详细信息作为调试步骤编写。
public static String getBrowser() {
Log.info("Getting system browser name . . .");
Capabilities cap = ((RemoteWebDriver) getDriver()).getCapabilities();
String browserName = cap.getBrowserName().toLowerCase();
return StringUtils.capitalize(browserName);
}
public static String getVersion() {
Log.info("Getting browser version . . .");
Capabilities cap = ((RemoteWebDriver) getDriver()).getCapabilities();
String v = cap.getVersion().toString();
Log.info("Browser version: " + v);
return v;
}
要在TestStart 添加数据,请添加:
extentTest.debug(MarkupHelper.createLabel(getBrowser() + " " + getVersion(), ExtentColor.TRANSPARENT));
您必须先获取浏览器信息和系统环境信息,然后在创建测试时将其传递给范围报告。
要获取 System 的环境详细信息:
这是 Windows 系统命令的示例示例:
String nameOS = "os.name";
String versionOS = "os.version";
String architectureOS = "os.arch";
nameOS = System.getProperty(nameOS);
versionOS = System.getProperty(versionOS);
architectureOS = System.getProperty(architectureOS);
System.out.println("The information about OS");
System.out.println("Name of the OS: " + nameOS);
System.out.println("Version of the OS: " + versionOS);
System.out.println("Architecture of THe OS: " + architectureOS);
Output will be as according to your System Arch like:
-----------------------------------------------------
The information about OS
Name of the OS: Windows 10
Version of the OS: 10.0
Architecture of THe OS: amd64
您可以检索您需要的环境详细信息。您可以参考此博客链接以获取特定的系统命令。点击这里
要获取浏览器详细信息:
Capabilities browserCap = ((RemoteWebDriver) driver).getCapabilities();
String browserName = browserCap.getBrowserName();
String browserVersion = browserCap.getVersion();
现在,您需要将此详细信息添加到 ExtentReport 标题部分中,您可以使用:
解决方案 :
ExtentTest testlog;
//extentReport is object of ExtentReport class
testlog= extentReport.createTest("This is Title Section", "This is Description Section<br />" + "OS:"+nameOS + " <br /> Browser Name: "+browserName);
同样,您将多个字符串添加到您需要的描述部分。createTest()
您可以通过方法捕获它。