我正在使用远程连接到网格机器来运行硒测试。当出现错误时,很难分析错误。如果我们有一些错误发生时的图片会更好。
问问题
3471 次
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/
如果不符合要求,请描述其他要求。
于 2012-10-19T08:24:22.917 回答
0
于 2012-10-19T08:38:34.510 回答