Class Images


  • public class Images
    extends Object
    • Constructor Detail

      • Images

        public Images()
    • Method Detail

      • captureToFile

        public static void captureToFile​(InBrowser browser,
                                         Path el,
                                         File outputFile)
        Save image to file
        Parameters:
        browser - - browser
        el - - Path element to capture
        outputFile - - output file
      • captureCanvasToFile

        public static void captureCanvasToFile​(InBrowser browser,
                                               Path el,
                                               File outputFile)
        Save an HTML5 canvas to file. Optimized for canvas. Will fail if the element is not a canvas.
        Parameters:
        browser - - browser
        el - - Path element to capture
        outputFile - - output file
      • captureImgSrcToFile

        public static void captureImgSrcToFile​(InBrowser browser,
                                               Path imgEl,
                                               File outputFile)
        Save the source of an HTML img element to file
        Parameters:
        browser - - browser
        imgEl - - HTML img element to capture
        outputFile - - output file
      • show

        public static void show​(InBrowser browser,
                                Path el)
        Display image of an element in a separate window. Does not work as an evaluation within the debugger.
        Parameters:
        browser - - browser
        el - - the element to capture and display
      • showCanvas

        public static void showCanvas​(InBrowser browser,
                                      Path el)
        Display image of an HTML5 canvas element in a separate window. Does not work as an evaluation within the debugger.
        Parameters:
        browser - - browser
        el - - the element to capture and display
      • assertHTMLImgSoureIsEqualToExpected

        public static void assertHTMLImgSoureIsEqualToExpected​(InBrowser browser,
                                                               Path el,
                                                               InputStream expectedImageInput)
                                                        throws IOException
        Verify that an image downloaded from an HTML img src attribute, is pixel-perfect
        Parameters:
        browser - - browser
        el - - HTML img element to capture and verify
        expectedImageInput - reference image file
        Throws:
        IOException - - file could not be read
      • assertImageIsEqualToExpected

        public static void assertImageIsEqualToExpected​(InBrowser browser,
                                                        Path el,
                                                        InputStream expectedImageInput)
                                                 throws IOException
        Verify that the element's image is pixel-perfect
        Parameters:
        browser - - browser
        el - - element to capture and verify
        expectedImageInput - reference image file
        Throws:
        IOException - - file could not be read
      • assertCanvasImageIsEqualToExpected

        public static void assertCanvasImageIsEqualToExpected​(InBrowser browser,
                                                              Path el,
                                                              InputStream expectedImageInput)
                                                       throws IOException
        Verify that the element's image is pixel-perfect
        Parameters:
        browser - - browser
        el - - canvas to capture and verify
        expectedImageInput - reference image file
        Throws:
        IOException - - file could not be read
      • getErrorsImage

        public static Optional<BufferedImage> getErrorsImage​(InBrowser browser,
                                                             Path el,
                                                             InputStream expectedImageInput)
                                                      throws IOException
        create and return an image that highlights the different pixels between the captured image and the reference image
        Parameters:
        browser - - browser
        el - - element to capture and verify
        expectedImageInput - reference image file
        Returns:
        an image that highlights the different pixels. If the images are equal, returns an empty optional.
        Throws:
        IOException - - file could not be read
        AssertionError - - images are not the same size
      • assertImageIsEqualToExpectedWithShiftAndCrop

        public static void assertImageIsEqualToExpectedWithShiftAndCrop​(InBrowser browser,
                                                                        Path el,
                                                                        InputStream expectedImageInput,
                                                                        int maxShift)
                                                                 throws IOException
        Verify that the element's image is pixel-perfect, but allowing some crop/shift
        Parameters:
        browser - - browser
        el - - element to capture and verify
        expectedImageInput - reference image file
        maxShift - maximum pixels the images are shifted/cropped compared to each other (both on x and y axis)
        Throws:
        IOException - - file could not be read
      • assertImageIsSimilarToExpected

        public static void assertImageIsSimilarToExpected​(InBrowser browser,
                                                          Path el,
                                                          InputStream expectedImageInput,
                                                          int maxBadPixelsRatio)
                                                   throws IOException
        Verify the picture is "similar" to the reference image. Ignores minor differences between the pixels.
        Parameters:
        browser - - browser
        el - - element to capture and validate
        expectedImageInput - - reference image
        maxBadPixelsRatio - - a positive number. For example: If it's 100, then 1% of the pixels can have major differences compared to the reference.
        Throws:
        IOException - - image file could not be read
      • assertImageIsSimilarToExpectedWithShift

        public static void assertImageIsSimilarToExpectedWithShift​(InBrowser browser,
                                                                   Path el,
                                                                   InputStream expectedImageInput,
                                                                   int maxBadPixelsRatio,
                                                                   int maxShift)
                                                            throws IOException
        Verify the picture is "similar" to the reference image. Ignores minor differences between the pixels.
        Parameters:
        browser - - browser
        el - - element to capture and validate
        expectedImageInput - - reference image
        maxBadPixelsRatio - - a positive number. For example: If it's 100, then 1% of the pixels can have major differences compared to the reference.
        maxShift - - max shift allowed
        Throws:
        IOException - - image file could not be read
      • assertImageIsSimilarToExpectedWithFilter

        public static void assertImageIsSimilarToExpectedWithFilter​(InBrowser browser,
                                                                    Path el,
                                                                    InputStream filterImageInput,
                                                                    InputStream expectedImageInput,
                                                                    int maxBadPixelsRatio)
                                                             throws IOException
        Verify the picture is "similar" to the reference image. Ignores minor differences between the pixels.
        Parameters:
        browser - - browser
        el - - element to capture and validate
        expectedImageInput - - reference image
        filterImageInput - - image that filters interesting areas
        maxBadPixelsRatio - - a positive number. For example: If it's 100, then 1% of the pixels can have major differences compared to the reference.
        Throws:
        IOException - - image file could not be read
      • captureCanvas

        public static BufferedImage captureCanvas​(InBrowser browser,
                                                  Path canvas)
        Capture a canvas DOM element to an image as a png. The reason for the special treatment for canvas is that capturing it as a raster image is much more efficient than a generic element.
        Parameters:
        browser - - the browser
        canvas - - a Path to the canvas element
        Returns:
        a raster image
      • showImage

        public static void showImage​(BufferedImage image,
                                     String header)
        Display an image on a JFrame
        Parameters:
        image - - the image
        header - - display title