getscreenshotas在webdriver上出现null异常

bsxbgnwa  于 2021-08-25  发布在  Java
关注(0)|答案(0)|浏览(231)

赏金5天后到期。此问题的答案有资格获得+50声誉奖励。kivul想引起更多的注意这个问题。

我将spring框架与selenium和testng结合使用,然后我决定与allure reports集成,这些报告运行良好。
我的问题是附上失败的截图。调用getscreenshotas时,@autowired驱动程序返回null。
我会发布一些代码,如果需要更多,请告诉我。

@Component
public class ScreenshotUtil {

    @Autowired
    private WebDriver driver;

    @Attachment(value = "Screenshot", type = "image/png")
    public byte[] saveScreenshotOnFailure() {
        return ((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES); //this is where im getting error
    }
}

然后我有了listener类。。

public class AllureListener implements ITestListener {

    @Autowired
    private ScreenshotUtil screenshotUtil;

    @Override
    public void onTestFailure(ITestResult result) {
        screenshotUtil.saveScreenshotOnFailure();
    }
}

我的测试课上有@test all,效果很好。。我还将添加webdriverconfig组件(不知道这是否有用)。

@Configuration
public class WebDriverConfig {

    @Bean
    @Scope("browserscope") //This is for parallel run
    public WebDriver driver() {
        if(System.getProperty("browser").equals("firefox") {
            .. return firefox driver //let me know if this code might be necessary
        } else {
            .. return chrome driver //let me know if this code might be necessary
        }
    }

    @Bean
    public WebDriverWait webDriverWait(WebDriver driver) {
        return new WebDriverWait(driver, timeout);
    }
}

提前谢谢,任何帮助都将不胜感激。。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题