Как прикрепить скриншоты base64 к отчетам cucumber?

#java #cucumber #cucumber-jvm #cucumber-java

#java #cucumber #cucumber-jvm #cucumber-java

Вопрос:

Что я пробовал, так это,

 final String Screenshot =((TakesScreenshot) driver).getScreenshotAs(OutputType.BASE64);
SCENARIO.attach(Screenshot,"image/png","BASE64");
 

или

 SCENARIO.attach(Screenshot,"image/png:base64","Test 1");
 

Подробные сведения :

 io.cucumber - 6.9.1
Report - net.masterthought cucumber-reporting -5.6.1
Language -- Java
 

Комментарии:

1. Какие отчеты вы используете?

2. @NandanA Мысли мастера огурцов ( github.com/damianszczepanik/cucumber-reporting )

Ответ №1:

Чтобы прикрепить скриншот в качестве изображения base 64, вам нужно захватить его как byte[] вместо String

 @AfterStep
public void takeScreenShotAfterStep(Scenario scenario) throws IOException {
    if (scenario.isFailed()) {
        final byte[] screenShot = ((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES);
        scenario.attach(screenShot, "image/jpg", scenario.getName());
    }
}
 

Комментарии:

1. Bytes [] будет использовать местоположение скриншота в отчете, так что существует зависимость от местоположения размещенных скриншотов. , чтобы избежать использования base64, поэтому я ищу решение, которое может помочь мне прикрепить строку формата base64 в отчете.

2. Нет. Он не будет использовать местоположение. Вы пробовали?

3. Да, он использует местоположение ,

4. href=»embeddings/embedding_908296921.jpg »