Вы хотите брать те скриншоты, которые Thucydides генерит автоматически, с учетом всех настроек скриншотов (resolution, blure итд)? Задача не из легких Сам недавно думал как это сделать, полез в сорцы - оказалось у Серенити нету открытого апи чтобы забирать эти самые скрины. Можете глянуть сами в код класса net.thucydides.core.steps.BaseStepListener в метод net.thucydides.core.steps.BaseStepListener private Optional<ScreenshotAndHtmlSource> grabScreenshot(TestResult result) и попробовать разобраться как оно там все происходит.
Я в итоге пришел к такому способу делать пользовательские скриншоты в Серенити:
По Allure к сожалению не могу подсказать.
Если проблема именно с Allure, то лучше в этом топике убрать метку serenity и добавить allure, чтобы сориентировать людей с нужным опытом
лучше аспект(Aspectj) написать с анотацией @MakeScreenshot например и поставить ету анотацию на все шаги которие нужно скриншотить - в аспекте крепить скрншоти в Allure через attachment
в каком месте Ви визиваете вот ето ? @Attachment(value = “Page screenshot”, type = “image/png”)
public byte[] saveScreenshot(byte[] screenShot) {
return screenShot;
}
P.S. :
Allure.addAttachment() пробовали вместо аннотации ?
Этот метод я вставлял в алюрный репортер и пробовал вызвать в шагах, пробовал вставлять его в раннер и вызывал его в шагах.
Сейчас попробовал, тоже самое ни скринов ни аттачей. хоть бы блин в папку скрины складывал, так он их даже не делает.
По Allure.addAttachment() для Jbehave нашел сейчас такой баг, но не понятно пофикиксили его или нет.
Сейчас залез в XML-ник отчета и увидел что появился тег , раньше его вроде не было.
Но скринов нет, они даже не делаются попросту.
И странно то что тег один, только тот который на закрытие везде стоит. а на открытие нет.
<step start="1522936787893" stop="1522936792295" status="passed">
<name>When выполнено нажатие на "Получить бесплатно"</name>
<title>When выполнено нажатие на "Получить бесплатно"</title>
<attachments/>
<steps>
<step start="1522936788367" stop="1522936791462" status="passed">
<name>When выполнено нажатие на "Получить бесплатно"</name>
<title>When выполнено нажатие на "Получить бесплатно"</title>
<attachments/>
<steps/>
</step>
</steps>
</step>
ето 99.99% проблема в очередности лисенера, по етому я и говорю попробовать сделать ето через аспекти - написать свой…если нету с етим опита - тогда гуглите aspectj
Добрый день @BMar_cg, очень интересует Ваш прогресс по этой теме. Делал все примерно тоже самое, что и Вы, но скринов в отчете не получил. Надеюсь, что проблема решится.
В том то и проблема что у меня скринов нет. Они просто не делаются.
При этом thucydides херачит скрины только в путь. Но мне то ни они нужны , а алюр. Такое ощущение что thucydides блокирует создание скринов для Алюра.
Да, я в курсе для чего нужен headless режим у браузера Но это не отменяет того факта что ThucydidesWebDriverSupport.getDriver() может вернуть инстанс HtmlUnitDriver, поэтому нам нужна доп. проверка перед снятием скриншота.
P.S. Мне кажется, чо обсуждение это вопроса здесь не очень соотносится с темой топика, поэтому не стоит его развивать.
Продолжение темы.
С горем пополам начались делать скрины, складываю их в папку target \ allure-results
Но толку ноль!
Allure их не подсасывает и подозреваю потому что “OutputType.FILE”
Но если я начинаю использовать “OutputType.BYTE” то скрины не делаются.