Хотите зафиксировать сведения о браузере и среде в отчете об экстенте при параллельном выполнении на разных устройствах.

Я разработал структуру автоматизации, используя Java-огурец с отчетом testng и Extent. Я запускаю один файл функций в нескольких средах, используя стек браузера, я хочу получить информацию о браузере и среде для каждого сценария, выполняемого в отчете об экстенте, чтобы я знал, в каком конкретном браузере функция не работает.

Прикрепляю скриншот того, что я ищу.

Заранее спасибо. введите здесь описание изображения


person user2405952    schedule 30.08.2018    source источник


Ответы (2)


Получите их перед выполнением тестового примера и напишите подробности о тестах в виде шагов отладки.

    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;
    }

Чтобы добавить данные onTestStart, добавьте:

extentTest.debug(MarkupHelper.createLabel(getBrowser() + " " + getVersion(), ExtentColor.TRANSPARENT));
person Neagu V    schedule 30.08.2018
comment
Отличный ответ - person Bill Hileman; 30.08.2018
comment
@Neagu Вам нужно обновить свое решение, как того требует OP, в разделе заголовка, где ваш синтаксис говорит, что он будет добавлен в обычный раздел журнала. - person Ishita Shah; 31.08.2018

Сначала вы должны получить информацию о браузере и информацию о системной среде, а затем вам нужно передать ее в Extent Report при создании теста.

Чтобы получить сведения о среде системы:

Это пример примера для системных команд 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() методом.

person Ishita Shah    schedule 31.08.2018