Миниатюра изображения появляется, но изображение не отображается после снятия скриншота неудачного теста в отчетах об экстентах
Код:
public void tearDown(ITestResult result)
if(result.getStatus()==ITestResult.FAILURE)
String screenshot_path= Utility.captureScreenshot(driver, result.getName());
String image= logger.addScreenCapture(screenshot_path);
logger.log(LogStatus.FAIL, "Title verification", image);
report.endTest(logger);
report.flush();
Функция класса полезности:
public static String captureScreenshot(WebDriver driver,String screenshotName)
try
TakesScreenshot ts=(TakesScreenshot)driver;
File source=ts.getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(source, new File("./Screenshots/"+screenshotName+".png"));
System.out.println("Screenshot taken");
catch (Exception e)
System.out.println("Exception while taking screenshot "+e.getMessage());
return screenshotName;
Миниатюра изображения появляется, но изображение не отображается после снятия скриншота неудачного теста в отчетах об экстентах
3 ответа
Проверьте раньше на Chrome/Firefox, у меня было что-то похожее, и вам нужно сохранить скриншот в той же папке с отчетом.
Попробуйте с:
logger.fail("Title verification",MediaEntityBuilder.createScreenCaptureFromPath("Your image path").build());
Ваш снимок экрана терпит неудачу, потому что ваш метод captureScreenShot возвращает ТОЧНОЕ переданное значение result.getname() вместо желаемого "./Screenshots/"+screenshotName+".png"
Если вы распечатаете возвращенное значение, я думаю, вы обнаружите, что это происходит.
Измените ваш код, как показано ниже:
String screenShotPath = "./Screenshots/"+screenshotName+".png";
FileUtils.copyFile(source, new File(screenShotPath));
...
return screenShotPath;