每当抛出异常时,如何让selenium拍照

时间:2012-10-19 08:07:15

标签: java selenium-webdriver

我正在使用远程连接到网格机器来运行硒测试。有错误时,很难分析错误。如果我们在发生错误时有一些图片会更好。

3 个答案:

答案 0 :(得分:5)

这里要解决两个问题。首先,我们需要一些代码来截取屏幕截图;其次,我们需要在测试失败时运行该代码。

使用the TakesScreenshot interface在Selenium中截取屏幕非常简单。所以你需要这样的东西:

TakesScreenshot ts = (TakesScreenshot)driver;
byte[] image = ts.getScreenshotAs(OutputType.BYTES);

try {
  File screenshot = new File("/some/path/myscreenshot.png");
  FileOutputStream fos = new FileOutputStream(screenshot);
  fos.write(image);
  fos.close();
} catch (IOException ex) {
  fail("Failed to write screenshot");
}

根据您使用的驱动程序,您可能还需要使用the Augmenter class

测试失败时运行代码将取决于您使用的测试框架,而不是Selenium。例如,如果您正在使用TestNG,则可以编写ITestListener实例来收听测试结果,并在失败时截取屏幕截图。

答案 1 :(得分:0)

答案 2 :(得分:0)

截取屏幕截图

  1. a link
  2. link2 for java。这很简单。从此链接复制粘贴代码可能会起作用。
  3. 然后您可以将其保存为数据库sql server info

    中的blob