Java 如何让selenium在抛出异常时拍照
我正在使用远程连接到网格计算机来运行selenium测试。当出现错误时,很难分析错误。当错误发生时,如果我们有一些图片就更好了。谷歌说有几种可能的方法:Java 如何让selenium在抛出异常时拍照,java,selenium-webdriver,Java,Selenium Webdriver,我正在使用远程连接到网格计算机来运行selenium测试。当出现错误时,很难分析错误。当错误发生时,如果我们有一些图片就更好了。谷歌说有几种可能的方法: 如果不适合,请描述其他要求。谷歌表示有几种可能的方法: 如果不适合,请描述其他要求。截图 。这很简单。从该链接复制粘贴代码可能会起作用 然后您可以将其另存为数据库中的blob截图 。这很简单。从该链接复制粘贴代码可能会起作用 然后您可以将其保存为数据库中的blob这里有两个问题需要解决。首先,我们需要一些截图代码,其次,我们需要
如果不适合,请描述其他要求。谷歌表示有几种可能的方法: 如果不适合,请描述其他要求。截图
然后您可以将其保存为数据库中的blob这里有两个问题需要解决。首先,我们需要一些截图代码,其次,我们需要在测试失败时运行这些代码 使用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");
}
根据您使用的驱动程序,您可能也需要使用
测试失败时运行代码将取决于您使用的测试框架,而不是Selenium。例如,如果您正在使用TestNG,您可以编写一个的实例来侦听测试结果,并在测试失败时截图。这里有两个问题需要解决。首先,我们需要一些截图代码,其次,我们需要在测试失败时运行这些代码 使用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");
}
根据您使用的驱动程序,您可能也需要使用
测试失败时运行代码将取决于您使用的测试框架,而不是Selenium。例如,如果您使用的是TestNG,您可以编写的实例来侦听测试结果,并在测试失败时截图