1

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

4

3 回答 3

5

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

在 Selenium 中使用界面截屏非常TakesScreenshot容易。所以你需要类似的东西:

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");
}

根据您使用的驱动程序,您可能也需要使用该类Augmenter

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

于 2012-10-19T08:51:47.537 回答
0

谷歌表示有几种可能的方法:

http://blogs.steeplesoft.com/2012/01/grabbing-screenshots-of-failed-selenium-tests/

https://addons.mozilla.org/en-us/firefox/addon/screenshot-on-fail-selenium/

使用 Selenium WebDriver 截屏

如果不符合要求,请描述其他要求。

于 2012-10-19T08:24:22.917 回答
0

截图

  1. 一条链接
  2. java的链接2。这很简单。从此链接复制粘贴代码可能会起作用。

然后您可以将其保存为数据库sql server info中的 blob

于 2012-10-19T08:38:34.510 回答