Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何让selenium在抛出异常时拍照_Java_Selenium Webdriver - Fatal编程技术网

Java 如何让selenium在抛出异常时拍照

Java 如何让selenium在抛出异常时拍照,java,selenium-webdriver,Java,Selenium Webdriver,我正在使用远程连接到网格计算机来运行selenium测试。当出现错误时,很难分析错误。当错误发生时,如果我们有一些图片就更好了。谷歌说有几种可能的方法: 如果不适合,请描述其他要求。谷歌表示有几种可能的方法: 如果不适合,请描述其他要求。截图 。这很简单。从该链接复制粘贴代码可能会起作用 然后您可以将其另存为数据库中的blob截图 。这很简单。从该链接复制粘贴代码可能会起作用 然后您可以将其保存为数据库中的blob这里有两个问题需要解决。首先,我们需要一些截图代码,其次,我们需要

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

谷歌说有几种可能的方法:


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

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

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

截图

  • 。这很简单。从该链接复制粘贴代码可能会起作用 然后您可以将其另存为数据库中的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,您可以编写的实例来侦听测试结果,并在测试失败时截图