首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java中的TakesScreenshot不起作用

Java中的TakesScreenshot不起作用
EN

Stack Overflow用户
提问于 2020-03-07 23:23:46
回答 1查看 100关注 0票数 0

我正在尝试创建一个函数,以便在测试结束时获得selenium中的屏幕快照。我正在传递3个参数“测试结果”、“消息”、“真/假”,供用户决定是否打印。

但是,在执行函数调用时,它不会将打印从屏幕上取出,它使用执行的步骤生成HTML,但是没有打印。

函数

代码语言:javascript
复制
public void escreveRelatorio(boolean status, String msg, boolean printScreen) {

        scenario.write(msg);

        if(printScreen) {
            scenario.embed(((TakesScreenshot)driver).getScreenshotAs(OutputType.BYTES), "image/png");
        }

        if(status == false) {
            Assert.fail(msg);
        }

    }

函数在测试过程中调用.

代码语言:javascript
复制
generic.escreveRelatorio(false, "O número de confirmação foi gerado: " + num, true);

代码语言:javascript
复制
public void validaNumeroConfirmacao() {

    String num = generic.obterTexto(lblConfirmationNumber).substring(23);

    if(!num.equals("1")){
        generic.escreveRelatorio(false, "O número de confirmação foi gerado: " + num, true);
    } else {
        generic.escreveRelatorio(true, "O número de confirmação foi gerado: " + num, true);
    }

}

我做错什么了?

EN

回答 1

Stack Overflow用户

发布于 2020-03-09 12:06:48

上面的例子的问题是,您没有指定屏幕截图应该保存的位置。

getScreenshotAs()将返回byte[],但您不会对它做任何事情。

代码语言:javascript
复制
File scrfile=((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);    
FileUtils.copyFile(scrfile, new File("/screenshot/SomeUniqueName.png"));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60583123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档