Package com.github.loyada.jdollarx
Class Images
- java.lang.Object
-
- com.github.loyada.jdollarx.Images
-
public class Images extends Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Images.ImageComparator
Internal utility class for imagesstatic class
Images.Obscure
-
Constructor Summary
Constructors Constructor Description Images()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
assertCanvasImageIsEqualToExpected(InBrowser browser, Path el, InputStream expectedImageInput)
Verify that the element's image is pixel-perfectstatic void
assertHTMLImgSoureIsEqualToExpected(InBrowser browser, Path el, InputStream expectedImageInput)
Verify that an image downloaded from an HTML img src attribute, is pixel-perfectstatic void
assertImageIsEqualToExpected(InBrowser browser, Path el, InputStream expectedImageInput)
Verify that the element's image is pixel-perfectstatic void
assertImageIsEqualToExpectedWithShiftAndCrop(InBrowser browser, Path el, InputStream expectedImageInput, int maxShift)
Verify that the element's image is pixel-perfect, but allowing some crop/shiftstatic void
assertImageIsSimilarToExpected(InBrowser browser, Path el, InputStream expectedImageInput, int maxBadPixelsRatio)
Verify the picture is "similar" to the reference image.static BufferedImage
captureCanvas(InBrowser browser, Path canvas)
static void
captureCanvasToFile(InBrowser browser, Path el, File outputFile)
Save an HTML5 canvas to file.static void
captureImgSrcToFile(InBrowser browser, Path imgEl, File outputFile)
Save the source of an HTML img element to filestatic void
captureToFile(InBrowser browser, Path el, File outputFile)
Save image to filestatic Optional<BufferedImage>
getErrorsImage(InBrowser browser, Path el, InputStream expectedImageInput)
create and return an image that highlights the different pixels between the captured image and the reference imagestatic void
show(InBrowser browser, Path el)
Display image of an element in a separate window.static void
showCanvas(InBrowser browser, Path el)
Display image of an HTML5 canvas element in a separate window.
-
-
-
Method Detail
-
captureToFile
public static void captureToFile(InBrowser browser, Path el, File outputFile)
Save image to file- Parameters:
browser
- - browserel
- - Path element to captureoutputFile
- - 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
- - browserel
- - Path element to captureoutputFile
- - 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
- - browserimgEl
- - HTML img element to captureoutputFile
- - 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
- - browserel
- - 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
- - browserel
- - 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
- - browserel
- - HTML img element to capture and verifyexpectedImageInput
- 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
- - browserel
- - element to capture and verifyexpectedImageInput
- 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
- - browserel
- - canvas to capture and verifyexpectedImageInput
- 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
- - browserel
- - element to capture and verifyexpectedImageInput
- 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 readAssertionError
- - 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
- - browserel
- - element to capture and verifyexpectedImageInput
- reference image filemaxShift
- 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
- - browserel
- - element to capture and validateexpectedImageInput
- - reference imagemaxBadPixelsRatio
- - 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)
-
-