Как решить проблему с созданием снимка экрана и его экспортом в отчет об объеме в классе Listener для тестирования? - PullRequest
2 голосов
/ 10 октября 2019

Я создаю среду TestNG Maven. У меня проблема с созданием снимка экрана при сбое теста и загрузкой его в отчет по экстентам.

String targetLocation = null;

String testClassName = result.getInstanceName();
String errorDate = new SimpleDateFormat("(MM.dd.YYYY HH-mm-ss)").format(new Date());
String testMethodName = result.getName();
String screenShotName = testMethodName + errorDate + ".png";
String fileSeperator = System.getProperty("file.separator");
String reportsPath = System.getProperty("user.dir") + fileSeperator + "TestReport" + fileSeperator

File src = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);

targetLocation = reportsPath + fileSeperator + testClassName + fileSeperator + screenShotName;
try {
    File targetFile = new File(targetLocation);

    FileHandler.copy(src, targetFile);
} catch (FileNotFoundException e) {
    Log.info("File not found exception occurred while taking screenshot " + e.getMessage());
} catch (Exception e) {
    Log.info("An exception occurred while taking screenshot " + e.getCause());
}

// attach screenshots to report
try {
    ExtentTestManager.getTest().fail("Screenshot", MediaEntityBuilder.createScreenCaptureFromPath(targetLocation).build());
} catch (IOException e) {
    Log.info("An exception occured while taking screenshot " + e.getCause());
}
ExtentTestManager.getTest().log(Status.FAIL, "Test Failed");

1 Ответ

0 голосов
/ 10 октября 2019

Просто введите этот код для скриншота.

ExtentTestManager.startTest(method.getName(), description);
ExtentTest extentTest = ExtentTestManager.getTest();
String base64Screenshot = "data:image/png;base64," + ((TakesScreenshot) driver).getScreenshotAs(OutputType.BASE64);
extentTest.log(LogStatus.FAIL, logs, ExtentTestManager.getTest().addBase64ScreenShot(base64Screenshot));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...