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