是否可以在范围报告等步骤之间提供诱惑报告的屏幕截图?
Is it possible to have screenshots of allure report between steps like extent report?
我正在使用 allure 报告为我的测试生成报告。早些时候我曾经使用 extent 报告。如您所知,在 extent 报告中,您可以按创建顺序添加日志和屏幕截图,但在 allure 报告中,所有屏幕截图都将在步骤结束时显示。
我的问题:是否可以在步骤之间显示屏幕截图?我想在每个步骤后创建一个屏幕截图,我想在正确的位置看到它们,而不是在报告末尾。
感谢您的帮助:)
您可以调用步骤中的截图调用方法:
@Test(description = "Screenshot in Step")
public void screenshotInStepTest() {
driver.get("https://www.google.com");
step1();
step2();
step3();
}
@Step("Step 1")
public void step1(){
System.out.println("step 1");
}
@Step("Step 2 with screenshot")
public void step2(){
System.out.println("step 2");
screenshot();
}
@Step("Step 3")
public void step3(){
System.out.println("step 3");
}
@Attachment(value = "Screenshot", type = "image/png")
public byte[] screenshot() {
return ((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES);
}
更新:
import java.io.ByteArrayInputStream;
//...
@Step("Step 1")
public void step1(){
//...
Allure.addAttachment("Any text", new ByteArrayInputStream(((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES)));
}
报告:
我正在使用 allure 报告为我的测试生成报告。早些时候我曾经使用 extent 报告。如您所知,在 extent 报告中,您可以按创建顺序添加日志和屏幕截图,但在 allure 报告中,所有屏幕截图都将在步骤结束时显示。
我的问题:是否可以在步骤之间显示屏幕截图?我想在每个步骤后创建一个屏幕截图,我想在正确的位置看到它们,而不是在报告末尾。
您可以调用步骤中的截图调用方法:
@Test(description = "Screenshot in Step")
public void screenshotInStepTest() {
driver.get("https://www.google.com");
step1();
step2();
step3();
}
@Step("Step 1")
public void step1(){
System.out.println("step 1");
}
@Step("Step 2 with screenshot")
public void step2(){
System.out.println("step 2");
screenshot();
}
@Step("Step 3")
public void step3(){
System.out.println("step 3");
}
@Attachment(value = "Screenshot", type = "image/png")
public byte[] screenshot() {
return ((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES);
}
更新:
import java.io.ByteArrayInputStream;
//...
@Step("Step 1")
public void step1(){
//...
Allure.addAttachment("Any text", new ByteArrayInputStream(((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES)));
}
报告: