如何在无头的Firefox中拍摄屏幕截图(Java中的Selenium)?

Shn:

我已经能够在Firefox无头模式下运行硒测试用例,但是在截屏时,截屏不是网页(在测试用例中测试过的网页)的截屏,而是截屏的背景(如图所示。(例如,运行测试用例的Eclipse IDE)

屏幕截图功能

File screenShotFolder = new File("Screenshots");
        WebDriver driver = getDriver();
        try {
            if (!screenShotFolder.exists() && !screenShotFolder.mkdir()) {
                getLog().error(
                        "Cannot create a new file in the intended location. "
                                + "" + screenShotFolder.getAbsolutePath());
            }
            File scrFile =
                    ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
            String filePath =
                    screenShotFolder.getAbsolutePath() + File.separator
                            + imageName + ".png";
            FileUtils.copyFile(scrFile, new File(filePath));

        } catch (Exception e) {
            e.printStackTrace();
        }

是否需要设置其他“选项”或“参数”?

nazar_art:

使用无头的Firefox截屏应该像通常的驱动程序一样工作。

过去,我使用以下方法:

public static String makeScreenshot() {
    String fileName = System.currentTimeMillis() + "Test";
    File screenshot = Driver.driver.get().getScreenshotAs(OutputType.FILE);
    File outputFile = new File("LoggerScreenshots/" + fileName + ".png");
    System.out.println(outputFile.getAbsolutePath());
    try {
        FileUtils.copyFile(screenshot, outputFile);
    } catch (IOException e) {
        e.printStackTrace();
    }
    return outputFile.getName();
}

并在测试执行失败时调用它:

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用python在Selenium中以编程方式使Firefox无头?

拍摄Java网页的屏幕截图

如何拍摄UIView的屏幕截图?

如何使用Xvfb和Selenium拍摄Retina屏幕截图

如何在CesiumJS中拍摄地图截图?

如何在Windows Store应用中拍摄屏幕截图

如何在Node.js中拍摄窗口截图?

通过Selenium使用无头ChromeDriver的透明屏幕截图

Selenium C#中的无头Firefox

如何使用Watir和geckodriver + Firefox拍摄全屏屏幕截图?

如何在Firefox中拍摄屏幕质量的屏幕截图?

如何在Android Studio中拍摄运行Flutter应用程序的移动调试设备的屏幕截图?

如何在Flutter中拍摄屏幕截图?

如何在python中截取屏幕截图?

如何在Node JS中拍摄整个屏幕的屏幕截图?

如何使用IP地址在Java中拍摄屏幕截图

如何拍摄imageView的屏幕截图?

如何在Xcode中设置屏幕截图?

如何在Windows Embedded Standard中拍摄桌面屏幕截图?

如何在Windows中拍摄大文件夹内容的单个屏幕截图

如何在OS X中重复拍摄特定区域的屏幕截图?

如何在Mac OS X中拍摄屏幕截图?

如何在vb.net,WPF中拍摄屏幕截图?

如何在Win10中以将URL放置到剪贴板而不是图像的方式拍摄屏幕截图?

如何使用scrot和键盘上的“打印屏幕”按钮在LXDE中拍摄屏幕截图?

如何在Kubuntu 16.04.3中使用键盘组合拍摄屏幕截图?

如何在网络视图中拍摄地图的屏幕截图

如何使用 Java 在 Selenium 中截取可滚动的屏幕截图?

无头 Firefox 谷歌地图未在屏幕截图中呈现