【问题标题】:store snapshots on server在服务器上存储快照
【发布时间】:2014-05-16 15:37:30
【问题描述】:
WebDriver driver = new FirefoxDriver();

driver.get("http://www.google.com/");

File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);

FileUtils.copyFile(scrFile, new File("c:\\tmp\\screenshot.png"));

使用此代码使用 selenium web-driver 拍摄快照。此代码仅在我的 PC 上本地存储快照。如果我想从 Jenkins 自动运行它,有没有办法将该快照存储在其他地方,以便如果有人通过 Jenkins 或从他们的 PC 本地运行它,他们不必更改链接((“c:\ tmp\screenshot.png") 每次。

【问题讨论】:

    标签: java selenium jenkins selenium-webdriver


    【解决方案1】:

    您可以将输出文件的位置设置为由设置控制 - 可以是运行此代码的工具的命令行参数(如果您可以修改它),也可以是您可以从您的文件中读取的环境变量上面的代码部分。您还可以有一个始终存在的默认位置,并且应该像用户的主目录一样可写,而不是 c:\tmp 的绝对路径。

    在 jenkins 中,我将有一个步骤(在 ant 脚本、shell 脚本或类似脚本中)在 $WORKSPACE 下创建一个名为“screenshots”的文件夹,然后将运行您的代码的工具告知该位置以上建议的方法。如果您想将屏幕截图作为作业输出的一部分,这也会很方便。

    此外,除非您真的只需要最新文件(或下游代码使用屏幕截图并期望特定名称),否则我会在上面的代码中为 png 引入时间戳或其他变量文件命名,例如screenshot-2014-05-16_12-15-37.png,这样如果您运行该工具两次,它就不会覆盖之前的文件。

    【讨论】:

      猜你喜欢
      • 2017-09-18
      • 1970-01-01
      • 1970-01-01
      • 2010-12-13
      • 2011-11-26
      • 1970-01-01
      • 2019-08-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多