From ede4aa872378a8e887091c7bb4786292b4ce7148 Mon Sep 17 00:00:00 2001 From: Denys Zaiats Date: Thu, 29 Dec 2016 08:52:52 +0100 Subject: [PATCH 1/2] [1.4.2-updated-unique-json-names] - fix for collecting results --- src/main/java/util/driver/MobileHelper.java | 37 +++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/src/main/java/util/driver/MobileHelper.java b/src/main/java/util/driver/MobileHelper.java index 8108593..69d062a 100644 --- a/src/main/java/util/driver/MobileHelper.java +++ b/src/main/java/util/driver/MobileHelper.java @@ -10,6 +10,7 @@ import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; +import java.util.Set; public class MobileHelper { private final static Logger LOG = LoggerFactory.getLogger(MobileHelper.class); @@ -129,4 +130,40 @@ public static MobileElement clearField(AndroidDriver driver, MobileElement eleme return element; } + + public static String getWebContextName(AppiumDriver driver) { + return getContext(driver, "WEB"); + } + + public static String getNativeContextName(AppiumDriver driver) { + return getContext(driver, "NATIVE"); + } + + private static String getContext(AppiumDriver driver, String context) { + String contextName = ""; + Set contexts = driver.getContextHandles(); + + while (contexts.size() < 2) { + if (contexts.size() > 1) { + break; + } else { + try { + DriverHelper.wait(1); + } catch (InterruptedException e) { + e.printStackTrace(); + } + contexts = driver.getContextHandles(); + } + } + + for (Object c: contexts){ + if (((String)c).contains(context)){ + contextName = (String) c; + break; + } + } + + return contextName; + } + } From e92acd0f1e985e3838116c2f7222a5cdb1f8b2db Mon Sep 17 00:00:00 2001 From: Denys Zaiats Date: Thu, 29 Dec 2016 09:31:38 +0100 Subject: [PATCH 2/2] [1.4.2-updated-unique-json-names] - fix for collecting results --- src/main/java/util/general/SystemHelper.java | 42 ++++++++++++++----- .../util/validator/ResponsiveUIValidator.java | 1 - 2 files changed, 31 insertions(+), 12 deletions(-) diff --git a/src/main/java/util/general/SystemHelper.java b/src/main/java/util/general/SystemHelper.java index 63a5146..e8cf46c 100644 --- a/src/main/java/util/general/SystemHelper.java +++ b/src/main/java/util/general/SystemHelper.java @@ -3,11 +3,23 @@ import java.awt.*; import java.io.File; import java.lang.reflect.Field; +import java.util.Arrays; +import static environment.EnvironmentFactory.*; import static util.validator.Constants.TARGET_AUTOMOTION_JSON; public class SystemHelper { + public final static String[] iOS_RETINA_DEVICES = { + "iPhone 4", "iPhone 4s", + "iPhone 5", "iPhone 5s", + "iPhone 6", "iPhone 6s", + "iPad Mini 2", + "iPad Mini 4", + "iPad Air 2", + "iPad Pro" + }; + /** * Verify is display is retina * @@ -15,23 +27,31 @@ public class SystemHelper { */ public static boolean isRetinaDisplay() { boolean isRetina = false; - try { - GraphicsDevice graphicsDevice = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice(); - + if (isMobile()) { + if (isIOS()) { + if (Arrays.asList(iOS_RETINA_DEVICES).contains(getDevice())) { + isRetina = true; + } + } + } else { try { - Field field = graphicsDevice.getClass().getDeclaredField("scale"); - if (field != null) { - field.setAccessible(true); - Object scale = field.get(graphicsDevice); - if (scale instanceof Integer && (Integer) scale == 2) { - isRetina = true; + GraphicsDevice graphicsDevice = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice(); + + try { + Field field = graphicsDevice.getClass().getDeclaredField("scale"); + if (field != null) { + field.setAccessible(true); + Object scale = field.get(graphicsDevice); + if (scale instanceof Integer && (Integer) scale == 2) { + isRetina = true; + } } + } catch (Exception e) { + e.printStackTrace(); } } catch (Exception e) { e.printStackTrace(); } - } catch (Exception e) { - e.printStackTrace(); } return isRetina; } diff --git a/src/main/java/util/validator/ResponsiveUIValidator.java b/src/main/java/util/validator/ResponsiveUIValidator.java index 8fd50e9..710a363 100644 --- a/src/main/java/util/validator/ResponsiveUIValidator.java +++ b/src/main/java/util/validator/ResponsiveUIValidator.java @@ -29,7 +29,6 @@ import static util.validator.ResponsiveUIValidator.Units.PX; public class ResponsiveUIValidator { - static final int MIN_OFFSET = -10000; private final static Logger LOG = Logger.getLogger(ResponsiveUIValidator.class); protected static WebDriver driver;