Хотите получать сведения о браузере и среде в отчете Extent при параллельном выполнении на разных устройствах
Я разработал инфраструктуру автоматизации с использованием Java-огурца с testng и Extent report. Я запускаю один файл объектов в нескольких средах, используя стек браузера, и хочу получить информацию о браузере и среде для каждого из сценариев, выполненных в отчете экстента, чтобы узнать, в каком конкретном браузере происходит сбой функции.
Прикрепление снимка экрана для того, что я высматриваю.
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;
}
Чтобы добавить данные на TestStart add:
extentTest.debug(MarkupHelper.createLabel(getBrowser() + " " + getVersion(), ExtentColor.TRANSPARENT));
Сначала вы должны получить информацию о браузере и информацию о системной среде, а затем передать ее в отчет об объеме во время создания теста.
Чтобы получить подробную информацию о среде системы:
Это пример для системных команд 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();
Теперь вам нужно добавить эту информацию в раздел заголовка Extent Report. Вы можете сделать это, используя:
Решение:
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()
метод.