Skip to content

Commit c2d7064

Browse files
authored
Merge pull request #28 from ITArray/1.4.2-fix-mobile-helper
1.4.2 fix mobile helper
2 parents 84f66ce + e92acd0 commit c2d7064

File tree

3 files changed

+68
-12
lines changed

3 files changed

+68
-12
lines changed

src/main/java/util/driver/MobileHelper.java

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import java.text.SimpleDateFormat;
1111
import java.util.Date;
1212
import java.util.Locale;
13+
import java.util.Set;
1314

1415
public class MobileHelper {
1516
private final static Logger LOG = LoggerFactory.getLogger(MobileHelper.class);
@@ -129,4 +130,40 @@ public static MobileElement clearField(AndroidDriver driver, MobileElement eleme
129130

130131
return element;
131132
}
133+
134+
public static String getWebContextName(AppiumDriver driver) {
135+
return getContext(driver, "WEB");
136+
}
137+
138+
public static String getNativeContextName(AppiumDriver driver) {
139+
return getContext(driver, "NATIVE");
140+
}
141+
142+
private static String getContext(AppiumDriver driver, String context) {
143+
String contextName = "";
144+
Set contexts = driver.getContextHandles();
145+
146+
while (contexts.size() < 2) {
147+
if (contexts.size() > 1) {
148+
break;
149+
} else {
150+
try {
151+
DriverHelper.wait(1);
152+
} catch (InterruptedException e) {
153+
e.printStackTrace();
154+
}
155+
contexts = driver.getContextHandles();
156+
}
157+
}
158+
159+
for (Object c: contexts){
160+
if (((String)c).contains(context)){
161+
contextName = (String) c;
162+
break;
163+
}
164+
}
165+
166+
return contextName;
167+
}
168+
132169
}

src/main/java/util/general/SystemHelper.java

Lines changed: 31 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,35 +3,55 @@
33
import java.awt.*;
44
import java.io.File;
55
import java.lang.reflect.Field;
6+
import java.util.Arrays;
67

8+
import static environment.EnvironmentFactory.*;
79
import static util.validator.Constants.TARGET_AUTOMOTION_JSON;
810

911
public class SystemHelper {
1012

13+
public final static String[] iOS_RETINA_DEVICES = {
14+
"iPhone 4", "iPhone 4s",
15+
"iPhone 5", "iPhone 5s",
16+
"iPhone 6", "iPhone 6s",
17+
"iPad Mini 2",
18+
"iPad Mini 4",
19+
"iPad Air 2",
20+
"iPad Pro"
21+
};
22+
1123
/**
1224
* Verify is display is retina
1325
*
1426
* @return
1527
*/
1628
public static boolean isRetinaDisplay() {
1729
boolean isRetina = false;
18-
try {
19-
GraphicsDevice graphicsDevice = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
20-
30+
if (isMobile()) {
31+
if (isIOS()) {
32+
if (Arrays.asList(iOS_RETINA_DEVICES).contains(getDevice())) {
33+
isRetina = true;
34+
}
35+
}
36+
} else {
2137
try {
22-
Field field = graphicsDevice.getClass().getDeclaredField("scale");
23-
if (field != null) {
24-
field.setAccessible(true);
25-
Object scale = field.get(graphicsDevice);
26-
if (scale instanceof Integer && (Integer) scale == 2) {
27-
isRetina = true;
38+
GraphicsDevice graphicsDevice = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
39+
40+
try {
41+
Field field = graphicsDevice.getClass().getDeclaredField("scale");
42+
if (field != null) {
43+
field.setAccessible(true);
44+
Object scale = field.get(graphicsDevice);
45+
if (scale instanceof Integer && (Integer) scale == 2) {
46+
isRetina = true;
47+
}
2848
}
49+
} catch (Exception e) {
50+
e.printStackTrace();
2951
}
3052
} catch (Exception e) {
3153
e.printStackTrace();
3254
}
33-
} catch (Exception e) {
34-
e.printStackTrace();
3555
}
3656
return isRetina;
3757
}

src/main/java/util/validator/ResponsiveUIValidator.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
import static util.validator.ResponsiveUIValidator.Units.PX;
3131

3232
public class ResponsiveUIValidator {
33-
3433
static final int MIN_OFFSET = -10000;
3534
private final static Logger LOG = Logger.getLogger(ResponsiveUIValidator.class);
3635
protected static WebDriver driver;

0 commit comments

Comments
 (0)