Skip to content

Commit 6e4c5b8

Browse files
author
Denys Zaiats
committed
[update_dependencies] - updated configurations
1 parent fe7fd4f commit 6e4c5b8

File tree

4 files changed

+48
-16
lines changed

4 files changed

+48
-16
lines changed

src/main/java/net/itarray/automotion/internal/DriverFacade.java

Lines changed: 31 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package net.itarray.automotion.internal;
22

33
import io.appium.java_client.AppiumDriver;
4+
import io.appium.java_client.android.AndroidDriver;
45
import org.openqa.selenium.*;
56
import org.openqa.selenium.remote.RemoteWebDriver;
67

@@ -33,6 +34,31 @@ public void takeScreenshot(File file) {
3334
}
3435
}
3536

37+
public WebDriver getDriver() {
38+
return driver;
39+
}
40+
41+
public boolean isAppiumAndroidContext() {
42+
if ((driver instanceof AndroidDriver)) {
43+
return true;
44+
}
45+
return false;
46+
}
47+
48+
public boolean isAppiumIOSContext() {
49+
if ((driver instanceof AndroidDriver)) {
50+
return true;
51+
}
52+
return false;
53+
}
54+
55+
public boolean isAppiumContext() {
56+
if ((driver instanceof AppiumDriver)) {
57+
return true;
58+
}
59+
return false;
60+
}
61+
3662
public boolean isAppiumWebContext() {
3763
if (!(driver instanceof AppiumDriver)) {
3864
return false;
@@ -68,14 +94,14 @@ private String getZoomScript() {
6894
}
6995

7096
private long retrievePageHeight() {
71-
if (!isMobile()) {
97+
if (!isAppiumAndroidContext()) {
7298
if (getZoom().equals("100%")) {
7399
return (long) executeScript("if (self.innerHeight) {return self.innerHeight;} if (document.documentElement && document.documentElement.clientHeight) {return document.documentElement.clientHeight;}if (document.body) {return document.body.clientHeight;}");
74100
} else {
75101
return (long) executeScript("return document.getElementsByTagName('body')[0].offsetHeight");
76102
}
77103
} else {
78-
if (isAppiumNativeMobileContext() || isIOS()) {
104+
if (isAppiumNativeMobileContext() || isAppiumIOSContext()) {
79105
return driver.manage().window().getSize().getHeight();
80106
} else {
81107
return (long) executeScript("if (self.innerHeight) {return self.innerHeight;} if (document.documentElement && document.documentElement.clientHeight) {return document.documentElement.clientHeight;}if (document.body) {return document.body.clientHeight;}");
@@ -84,15 +110,15 @@ private long retrievePageHeight() {
84110
}
85111

86112
private long retrievePageWidth() {
87-
if (!isMobile()) {
113+
if (!isAppiumAndroidContext()) {
88114
if (getZoom().equals("100%")) {
89115
String script = "if (self.innerWidth) {return self.innerWidth;} if (document.documentElement && document.documentElement.clientWidth) {return document.documentElement.clientWidth;}if (document.body) {return document.body.clientWidth;}";
90116
return (long) executeScript(script);
91117
} else {
92118
return (long) executeScript("return document.getElementsByTagName('body')[0].offsetWidth");
93119
}
94120
} else {
95-
if (isAppiumNativeMobileContext() || isIOS()) {
121+
if (isAppiumNativeMobileContext() || isAppiumIOSContext()) {
96122
return driver.manage().window().getSize().getWidth();
97123
} else {
98124
return (long) executeScript("if (self.innerWidth) {return self.innerWidth;} if (document.documentElement && document.documentElement.clientWidth) {return document.documentElement.clientWidth;}if (document.body) {return document.body.clientWidth;}");
@@ -110,7 +136,7 @@ public void setResolution(Dimension resolution) {
110136
}
111137

112138
public Dimension getResolution() {
113-
if (isMobile() && getApp() == null) {
139+
if (isAppiumContext() && getApp() == null) {
114140
String resolution = ((RemoteWebDriver) driver).getCapabilities().getCapability("deviceScreenSize").toString();
115141
int width = Integer.parseInt(resolution.split("x")[0]);
116142
int height = Integer.parseInt(resolution.split("x")[1]);

src/main/java/net/itarray/automotion/internal/ResponsiveUIValidatorBase.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ private SimpleTransform getTransform() {
112112

113113
private double getScaleFactor() {
114114
double factor;
115-
if (isMobile()) {
115+
if (getDriver().isAppiumContext()) {
116116
factor = getReport().getRetinaScaleFactor();
117117
} else {
118118
factor = zoomFactor;
@@ -124,8 +124,8 @@ private double getScaleFactor() {
124124
}
125125

126126
private int getYOffset() {
127-
if (isMobile() && getDriver().isAppiumWebContext() && getReport().isMobileTopBarOffsetState()) {
128-
if (isIOS() || isAndroid()) {
127+
if (getDriver().isAppiumContext() && getDriver().isAppiumWebContext() && getReport().isMobileTopBarOffsetState()) {
128+
if (getDriver().isAppiumAndroidContext() || getDriver().isAppiumIOSContext()) {
129129
return (int) getReport().getMobileTopBarOffsetState();
130130
}
131131
}

src/main/java/net/itarray/automotion/internal/UIValidatorBase.java

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,26 @@
44
import net.itarray.automotion.internal.geometry.Rectangle;
55
import net.itarray.automotion.internal.geometry.Scalar;
66
import net.itarray.automotion.internal.properties.Context;
7-
import net.itarray.automotion.validation.properties.Expression;
87
import net.itarray.automotion.internal.properties.PixelConstant;
98
import net.itarray.automotion.validation.UIElementValidator;
109
import net.itarray.automotion.validation.UISnapshot;
1110
import net.itarray.automotion.validation.Units;
1211
import net.itarray.automotion.validation.properties.Condition;
12+
import net.itarray.automotion.validation.properties.Expression;
1313
import net.itarray.automotion.validation.properties.Padding;
1414
import org.json.simple.JSONObject;
15+
import org.openqa.selenium.JavascriptExecutor;
1516
import org.openqa.selenium.WebElement;
1617

1718
import java.util.List;
1819

19-
import static net.itarray.automotion.internal.UIElement.*;
20-
import static net.itarray.automotion.validation.properties.Expression.percentOrPixels;
21-
import static net.itarray.automotion.validation.Constants.*;
22-
import static net.itarray.automotion.validation.properties.Condition.*;
20+
import static net.itarray.automotion.internal.UIElement.asElement;
21+
import static net.itarray.automotion.internal.UIElement.asElements;
2322
import static net.itarray.automotion.internal.properties.PercentReference.PAGE;
23+
import static net.itarray.automotion.validation.Constants.*;
24+
import static net.itarray.automotion.validation.properties.Condition.greaterOrEqualTo;
25+
import static net.itarray.automotion.validation.properties.Condition.lessOrEqualTo;
26+
import static net.itarray.automotion.validation.properties.Expression.percentOrPixels;
2427

2528
public class UIValidatorBase extends ResponsiveUIValidatorBase implements UIElementValidator {
2629

@@ -33,6 +36,11 @@ public class UIValidatorBase extends ResponsiveUIValidatorBase implements UIElem
3336
public UIValidatorBase(UISnapshot snapshot, WebElement webElement, String readableNameOfElement) {
3437
super(snapshot);
3538
this.rootElement = asElement(webElement, readableNameOfElement);
39+
if (getDriver().isAppiumContext()) {
40+
try {
41+
((JavascriptExecutor) getDriver().getDriver()).executeScript("arguments[0].scrollIntoView();", webElement);
42+
} catch (Exception e) {}
43+
}
3644
}
3745

3846
@Override

src/main/java/net/itarray/automotion/validation/UISnapshot.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@
1010
import java.io.File;
1111
import java.util.List;
1212

13-
import static net.itarray.automotion.tools.environment.EnvironmentFactory.isMobile;
14-
1513
public class UISnapshot {
1614

1715
private final ResponsiveUIValidator responsiveUIValidator;
@@ -25,7 +23,7 @@ public UISnapshot(ResponsiveUIValidator responsiveUIValidator, String name, Reso
2523
this.name = name;
2624
this.resolution = resolution.queryIfUnknown(responsiveUIValidator.driver);
2725
this.zoom = zoom.queryIfUnknown(responsiveUIValidator.driver);
28-
if (!isMobile()) {
26+
if (responsiveUIValidator.getDriver().isAppiumContext()) {
2927
resolution.applyTo(responsiveUIValidator.driver);
3028
zoom.applyTo(responsiveUIValidator.driver);
3129
}

0 commit comments

Comments
 (0)