Как получить текущий драйвер класса в ItestListener ⇐ JAVA

Программисты JAVA общаются здесь
Anonymous
Как получить текущий драйвер класса в ItestListener

Сообщение Anonymous »

Я работаю с ExtentReports и ItestListener для своего проекта testng-selenium-java,
Мой слушатель делает снимок экрана для тестового примера сбоя для ExtentReports, но проблема в том, что у меня есть несколько классов в моем testng.XML, и я запускайте их за один раз, один за другим, выполняя разные действия и имея собственные драйверы.

В случае неудачи код для Ilistener -

Код: Выделить всё

public void onTestFailure(ITestResult iTestResult)
{
System.out.println("I am in onTestFailure method " +
getTestMethodName(iTestResult) + " failed");

//Get driver from BaseTest and assign to local webdriver variable.
Object testClass = iTestResult.getInstance();
WebDriver webDriver = ((BaseTest) testClass).getDriver();

//Take base64Screenshot screenshot.
String base64Screenshot = "data:image/png;base64,"+((TakesScreenshot)webDriver).
getScreenshotAs(OutputType.BASE64);

//Extentreports log and screenshot operations for failed tests.
ExtentTestManager.getTest().log(LogStatus.FAIL,"Test Failed",
ExtentTestManager.getTest().addBase64ScreenShot(base64Screenshot));
}
Как убедиться, что драйвер класса неудачного тестового примера используется каждый раз, когда тест не пройден, потому что в приведенном выше коде только драйвер одного класса получает все время, а не время текущего класса.

Подробнее здесь: https://stackoverflow.com/questions/503 ... stlistener

Вернуться в «JAVA»