/** * Returns capabilities that were provided on instantiation. * * @return given {@link Capabilities} */ public Capabilities getCapabilities() { MutableCapabilities capabilities = (MutableCapabilities) super.getCapabilities(); capabilities.setCapability(PLATFORM_NAME, ANDROID_PLATFORM); return capabilities; }
/** * Returns capabilities that were provided on instantiation. * * @return given {@link Capabilities} */ public Capabilities getCapabilities() { MutableCapabilities capabilities = (MutableCapabilities) super.getCapabilities(); capabilities.setCapability(PLATFORM_NAME, IOS_PLATFORM); return capabilities; }
/** * Returns capabilities that were provided on instantiation. * * @return given {@link Capabilities} */ public Capabilities getCapabilities() { MutableCapabilities capabilities = (MutableCapabilities) super.getCapabilities(); capabilities.setCapability(PLATFORM_NAME, ANDROID_PLATFORM); return capabilities; }
/** * Returns capabilities that were provided on instantiation. * * @return given {@link Capabilities} */ public Capabilities getCapabilities() { MutableCapabilities capabilities = (MutableCapabilities) super.getCapabilities(); capabilities.setCapability(PLATFORM_NAME, IOS_PLATFORM); return capabilities; }
/** * Checks if web description is loaded. * * Note: Will fail if Android version is < 4.4 or >= 6.0. Hybrid views are not compatible with * versions < 4.4 and Appium context switching is currently buggy on devices running versions >= 6.0. * * @return true if it is, else false. */ public boolean webDescriptionIsLoaded() throws InterruptedException { Object[] contextHandles = driver.getContextHandles().toArray(); String androidVersion = driver.getCapabilities().getCapability("platformVersion").toString(); if (versionLessThan(androidVersion, "4.4")) { return true; } else if (versionGreaterThanOrEqual(androidVersion, "6.0")) { return false; } String webViewContent = (String) contextHandles[contextHandles.length - 1]; WebDriver webDriver = driver.context(webViewContent); try { WebDriverWait wait = new WebDriverWait(webDriver, MAX_WEBSITE_LOAD_TIME); wait.until(ExpectedConditions.presenceOfElementLocated(By.cssSelector(WEB_HEADER_CSS_NAME))); wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector(WEB_HEADER_CSS_NAME))); } catch (TimeoutException e) { return false; // MAX_WEBSITE_LOAD_TIME timeout exceeded - bad internet connection. } WebElement webHeader = webDriver.findElement(By.cssSelector(WEB_HEADER_CSS_NAME)); return webHeader.isDisplayed(); }