【问题标题】:Selenium Webdriver - Capture URL in screenshot using RobotSelenium Webdriver - 使用机器人在屏幕截图中捕获 URL
【发布时间】:2023-03-04 11:40:02
【问题描述】:
Robot robot = new Robot();
BufferedImage screenShot = robot.createScreenCapture(new 
Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
ImageIO.write(screenShot, "JPG", new File("ScreenShot.jpg"));

当测试用例失败时,此代码将捕获桌面屏幕上显示的任何内容的屏幕截图。但我需要用 URL 截取 chromedriver 浏览器屏幕的屏幕截图。如何捕获 selenium 中的错误场景?

【问题讨论】:

  • 将当前 URL 写入屏幕截图随附的错误日志中。

标签: java selenium screenshot


【解决方案1】:

Chrome 驱动程序似乎是全尺寸屏幕截图的问题。你可以看到人们围绕here写了一个工作

或者你可以参考截图here

【讨论】:

    【解决方案2】:

    正常截屏方式

    WebDriver driver = new FirefoxDriver();
    driver.get("http://www.google.com/");
    File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
    
    // Now you can do whatever you need to do with it, for example copy somewhere
    FileUtils.copyFile(scrFile, new File("c:\\tmp\\screenshot.png"));
    

    如果您需要失败的场景退出来捕获屏幕截图,您可以查看此帖子 How to capture Server Error Pages using selenium Web driver

    【讨论】:

    • 要使用机器人截屏,您的窗口必须可见,否则机器人无济于事
    • 仅代码答案并不是回答问题的最佳方式。请添加解释为什么这是问题的答案。另外,您的回答绝不是回答问题。
    • 我认为 OP 的问题是关于机器人框架的。谢谢
    猜你喜欢
    • 1970-01-01
    • 2014-07-15
    • 2012-10-26
    • 2023-01-23
    • 2022-01-13
    • 2011-10-13
    • 1970-01-01
    • 1970-01-01
    • 2012-09-17
    相关资源
    最近更新 更多