截图未附 Allure + Cucumber + TestNg + EventListener

问题描述

  1. 使用 Cucumber EventListener,我尝试捕获 Allure 报告中的屏幕截图,但报告中未附上屏幕截图。

以下是我的 CustomEventListener 代码:

ERROR c.r.t.s.c.JwtAuthenticationController - Error generating a token. Details: org.springframework.security.authentication.BadCredentialsException: Bad credentials
  1. 跑步者类:

    public class CListener extends TestRunner implements EventListener {
    
    @Override
    public void setEventPublisher(EventPublisher eventPublisher) {
        eventPublisher.registerHandlerFor(TestStepFinished.class,this::stepFinished);
    }
    
    private void stepFinished(TestStepFinished event) {
        PickleStepTestStep steps = (PickleStepTestStep) event.getTestStep();
        String stepName = steps.getStep().getText();
        if (event.getResult().getStatus().toString().equalsIgnoreCase("PASSED")) {
            takeScreenshot(webDriver,event.getResult().getStatus().toString(),stepName);
        } else if (event.getResult().getStatus().toString().equalsIgnoreCase("FAILED")) {
            takeScreenshot(webDriver,stepName);
        }
        Allure.addAttachment(stepName,new ByteArrayInputStream(((TakesScreenshot) webDriver).getScreenshotAs(OutputType.BYTES)));
    }
    
    private void takeScreenshot(WebDriver driver,String filePath,String screenName) {
        File scrFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
        try {
            FileUtils.copyFile(scrFile,new File("Screenshots\\" + filePath + "\\" + screenName + ".png"));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    }
    

Sample code implementation can be found here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...