Как указать ALLURE отображать скриншоты?

Здравствуйте, генерю скриншоты в определенных местах (где ошибки)

File screenshot = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
String path = "./target/screenshots/" + screenshot.getName();
FileUtils.copyFile(screenshot, new File(path));

как мне указать ALLURE откуда брать эти скриншоты и отображать?

Заверни все это в метод и добаь аннотацию @Attachement - Attachments · allure-framework/allure1 Wiki · GitHub . Не забывай потом только этот метод в своих тестах где то вызывать

1 лайк

в лиснере @Attachemnet клеишь на failed тести в котором берешь скриншоти - тип атачмента byte масив

1 лайк

Просто делаешь метод типа:

@Attachment(value = "Page screenshot", type = "image/png")
protected byte[] saveAllureScreenshot() {
	return ((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES);
}

и вызываешь его когда надо скриншот впилить (лучше всего этот вызов делать из тест лисинера на onFail() ивенте)
При этом скриншоты будут автоматически складываться в папку target\allure-results и подтягиваться в нужных местах репорта.

2 лайка