11package net .itarray .automotion .internal ;
22
3- import net .itarray .automotion .internal .geometry .Direction ;
43import net .itarray .automotion .tools .helpers .Helper ;
54import net .itarray .automotion .validation .ResponsiveUIValidator ;
65import net .itarray .automotion .validation .UISnapshot ;
98import org .openqa .selenium .Dimension ;
109
1110import java .awt .*;
12- import java .io .BufferedWriter ;
13- import java .io .File ;
14- import java .io .FileOutputStream ;
15- import java .io .IOException ;
16- import java .io .OutputStreamWriter ;
17- import java .io .Writer ;
11+ import java .io .*;
1812import java .nio .charset .StandardCharsets ;
1913
2014import static net .itarray .automotion .tools .environment .EnvironmentFactory .*;
2418public abstract class ResponsiveUIValidatorBase {
2519
2620 protected final Errors errors ;
21+ protected final UIElement page ;
2722 private final long startTime ;
2823 private final UISnapshot snapshot ;
2924 private final DriverFacade driver ;
3025 private final double zoomFactor ;
31- protected final UIElement page ;
3226
3327 protected ResponsiveUIValidatorBase (UISnapshot snapshot ) {
3428 this .snapshot = snapshot ;
@@ -52,15 +46,6 @@ public Units getUnits() {
5246 return getReport ().getUnits ();
5347 }
5448
55- protected ResponsiveUIValidator getReport () {
56- return snapshot .getResponsiveUIValidator ();
57- }
58-
59-
60- public boolean isWithReport () {
61- return getReport ().isWithReport ();
62- }
63-
6449 /**
6550 * @deprecated As of release 2.0, replaced by{@link util.validator.ResponsiveUIValidator#changeMetricsUnitsTo(util.validator.ResponsiveUIValidator.Units)} ()}
6651 */
@@ -70,6 +55,14 @@ protected ResponsiveUIValidatorBase setUnits(Units units) {
7055 return this ;
7156 }
7257
58+ protected ResponsiveUIValidator getReport () {
59+ return snapshot .getResponsiveUIValidator ();
60+ }
61+
62+ public boolean isWithReport () {
63+ return getReport ().isWithReport ();
64+ }
65+
7366 public ResponsiveUIValidatorBase drawMap () {
7467 getReport ().drawMap ();
7568 return this ;
@@ -118,11 +111,9 @@ private SimpleTransform getTransform() {
118111 }
119112
120113 private double getScaleFactor () {
121- double factor = 1 ;
114+ double factor ;
122115 if (isMobile ()) {
123- if (isIOS () && isIOSDevice ()) {
124- factor = 2 ;
125- }
116+ factor = 2 ;
126117 } else {
127118 factor = zoomFactor ;
128119 if (isRetinaDisplay () && isChrome ()) {
@@ -135,7 +126,7 @@ private double getScaleFactor() {
135126 private int getYOffset () {
136127 if (isMobile () && getDriver ().isAppiumWebContext () && getReport ().isMobileTopBarOffset ()) {
137128 if (isIOS () || isAndroid ()) {
138- return 20 ;
129+ return 20 * ( int ) getScaleFactor () ;
139130 }
140131 }
141132 return 0 ;
@@ -166,8 +157,7 @@ private void writeResults(DrawableScreenshot drawableScreenshot) {
166157 jsonFile .getParentFile ().mkdirs ();
167158 try (
168159 OutputStreamWriter outputStreamWriter = new OutputStreamWriter (new FileOutputStream (jsonFile ), StandardCharsets .UTF_8 );
169- Writer writer = new BufferedWriter (outputStreamWriter ))
170- {
160+ Writer writer = new BufferedWriter (outputStreamWriter )) {
171161 writer .write (jsonResults .toJSONString ());
172162 } catch (IOException ex ) {
173163 throw new RuntimeException ("Cannot create json report: " + jsonFile , ex );
0 commit comments