Testng 在不同设备上并行执行时,是否希望在扩展数据块报告中捕获浏览器和环境详细信息

Testng 在不同设备上并行执行时,是否希望在扩展数据块报告中捕获浏览器和环境详细信息,testng,cucumber-jvm,extentreports,selenium-extent-report,Testng,Cucumber Jvm,Extentreports,Selenium Extent Report,我已经设计了一个自动化框架,使用CucumberJava和testng以及扩展报告。我使用浏览器堆栈在多个环境中运行单个功能文件,我希望捕获在扩展数据块报告中执行的每个场景的浏览器和环境信息,以便了解功能在哪个特定浏览器上失败 附加我正在寻找的屏幕截图 提前谢谢。 在执行测试用例之前获取它们,并将测试的详细信息作为调试步骤写入 public static String getBrowser() { Log.info("Getting system browser name . .

我已经设计了一个自动化框架,使用CucumberJava和testng以及扩展报告。我使用浏览器堆栈在多个环境中运行单个功能文件,我希望捕获在扩展数据块报告中执行的每个场景的浏览器和环境信息,以便了解功能在哪个特定浏览器上失败

附加我正在寻找的屏幕截图

提前谢谢。

在执行测试用例之前获取它们,并将测试的详细信息作为调试步骤写入

    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;
    }
要添加数据,请开始添加:

extentTest.debug(MarkupHelper.createLabel(getBrowser() + " " + getVersion(), ExtentColor.TRANSPARENT));

在执行测试用例之前获取它们,并将测试的详细信息作为调试步骤编写

    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;
    }
要添加数据,请开始添加:

extentTest.debug(MarkupHelper.createLabel(getBrowser() + " " + getVersion(), ExtentColor.TRANSPARENT));

您必须首先获取浏览器信息和系统环境信息,然后在创建测试时需要将其传递给扩展数据块报告

获取系统的环境详细信息:

Capabilities browserCap = ((RemoteWebDriver) driver).getCapabilities();
String browserName = browserCap.getBrowserName();
String browserVersion = browserCap.getVersion();
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);
这是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();
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);
现在,您需要此详细信息来添加到ExtentReport标题部分,您可以使用:

解决方案:

Capabilities browserCap = ((RemoteWebDriver) driver).getCapabilities();
String browserName = browserCap.getBrowserName();
String browserVersion = browserCap.getVersion();
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);
扩展测试日志;
//extentReport是extentReport类的对象
testlog=extentReport.createTest(“这是标题部分”,“这是描述部分”
“+”操作系统:“+nameOS+”
浏览器名称:“+browserName”);

和wise一样,您可以在需要的描述部分中添加多个字符串。您可以通过
createTest()
方法捕获它。

您必须首先获取浏览器信息和系统环境信息,然后在创建测试时将其传递到扩展数据块报告

获取系统的环境详细信息:

Capabilities browserCap = ((RemoteWebDriver) driver).getCapabilities();
String browserName = browserCap.getBrowserName();
String browserVersion = browserCap.getVersion();
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);
这是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();
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);
现在,您需要此详细信息来添加到ExtentReport标题部分,您可以使用:

解决方案:

Capabilities browserCap = ((RemoteWebDriver) driver).getCapabilities();
String browserName = browserCap.getBrowserName();
String browserVersion = browserCap.getVersion();
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);
扩展测试日志;
//extentReport是extentReport类的对象
testlog=extentReport.createTest(“这是标题部分”,“这是描述部分”
“+”操作系统:“+nameOS+”
浏览器名称:“+browserName”);

和wise一样,您可以在需要的描述部分中添加多个字符串。您可以通过
createTest()
方法捕获它。

非常好answer@Neagu您需要根据OP的要求在标题部分更新您的解决方案,在标题部分,您的语法说它将添加到常规日志部分。非常好answer@Neagu您需要根据OP的要求在标题部分更新您的解决方案,语法上说它将添加到常规日志部分。