Skip to content

Commit 4ef427d

Browse files
committed
Add deviation logging
1 parent d2b37c0 commit 4ef427d

File tree

3 files changed

+12
-5
lines changed

3 files changed

+12
-5
lines changed

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,8 @@ Below are some basic examples of usage.
100100

101101
### Screenshots comparison
102102

103-
- Compare screenshot taken with the expected one with specified deviation rate:
103+
- Compare screenshot taken with the expected one with specified deviation rate (for example 0.1 represents that if image differences are less than 10% the images will be considered to be equal and no resulting image with highlighted differences
104+
will be produced):
104105
```java
105106
Shutterbug.shootPage(driver).equals(otherImage,0.1);
106107
```

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<modelVersion>4.0.0</modelVersion>
55
<groupId>com.assertthat</groupId>
66
<artifactId>selenium-shutterbug</artifactId>
7-
<version>1.4-SNAPSHOT</version>
7+
<version>1.4</version>
88
<name>selenium-shutterbug</name>
99
<description>Utility library to create customized screenshots using Selenium WebDriver and Java AWT</description>
1010
<url>http://www.assertthat.com</url>

src/main/java/com/assertthat/selenium_shutterbug/utils/image/model/ImageData.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import java.awt.*;
77
import java.awt.image.BufferedImage;
88
import java.io.File;
9+
import java.text.DecimalFormat;
910

1011
@Getter
1112
public class ImageData {
@@ -55,7 +56,6 @@ private void createDifferencesImage(BufferedImage image, String pathDifferenceIm
5556
output.setRGB(x, y, rgb1);
5657
}
5758
}
58-
5959
FileUtil.writeImage(output, "png", new File(pathDifferenceImageFileName + ".png"));
6060
}
6161

@@ -65,8 +65,14 @@ public boolean equalsEachPixels(ImageData imageData, double deviation) {
6565

6666
private boolean equalsEachPixels(BufferedImage image, double deviation) {
6767
double p = calculatePixelsDifference(image);
68-
69-
return p == 0 || p <= deviation;
68+
boolean areEqual = p == 0 || p <= deviation;
69+
if(!areEqual){
70+
DecimalFormat df = new DecimalFormat("#");
71+
df.setMaximumFractionDigits(8);
72+
System.out.println("[INFO] Allowed deviation: " + df.format(deviation));
73+
System.out.println("[INFO] Actual deviation: " + df.format(p));
74+
}
75+
return areEqual;
7076
}
7177

7278
private double calculatePixelsDifference(BufferedImage image) {

0 commit comments

Comments
 (0)