List of usage examples for org.openqa.selenium WebDriver manage
Options manage();
From source file:org.xframium.device.artifact.api.SeleniumArtifactProducer.java
License:Open Source License
@Override protected Artifact _getArtifact(WebDriver webDriver, ArtifactType aType, Map<String, String> parameterMap, ConnectedDevice connectedDevice, String testName, boolean success) { String rootFolder = testName + System.getProperty("file.separator") + connectedDevice.getDevice().getKey() + System.getProperty("file.separator"); switch (aType) { case FAILURE_SOURCE: return new Artifact(rootFolder + "failureDOM.xml", webDriver.getPageSource().getBytes()); case FAILURE_SOURCE_HTML: return new Artifact(rootFolder + "failureDOM.html", ("<html><head><link href=\"http://www.xframium.org/output/assets/css/prism.css\" rel=\"stylesheet\"><script src=\"http://www.xframium.org/output/assets/js/prism.js\"></script><body><pre class\"line-numbers\"><code class=\"language-markup\">" + webDriver.getPageSource().replace("<", "<").replace(">", ">").replace("\t", " ") + "</code></pre></body></html>").getBytes()); case EXECUTION_DEFINITION: StringBuilder defBuilder = new StringBuilder(); defBuilder.append("DATE=").append(simpleDateFormat.format(new Date(System.currentTimeMillis()))) .append("\r\n"); defBuilder.append("TIME=").append(timeFormat.format(new Date(System.currentTimeMillis()))) .append("\r\n"); defBuilder.append("TEST_CASE=").append(testName).append("\r\n"); defBuilder.append("DEVICE=").append(connectedDevice.getDevice().getKey()).append("\r\n"); defBuilder.append("SUCCESS=").append(success).append("\r\n"); defBuilder.append("MANUFACTURER=").append(connectedDevice.getDevice().getManufacturer()).append("\r\n"); defBuilder.append("MODEL=").append(connectedDevice.getDevice().getBrowserName()).append("\r\n"); return new Artifact(rootFolder + "executionDefinition.properties", defBuilder.toString().getBytes()); case CONSOLE_LOG: Artifact consoleArtifact = new Artifact(rootFolder + "console.txt", DeviceManager.instance().getLog().getBytes()); DeviceManager.instance().clearLog(); return consoleArtifact; case DEVICE_LOG: try {//from www .j av a2 s .c o m LogEntries logEntries = webDriver.manage().logs().get(LogType.BROWSER); if (logEntries != null) { StringBuilder logBuilder = new StringBuilder(); for (LogEntry logEntry : logEntries) logBuilder.append(dateFormat.format(new Date(logEntry.getTimestamp()))).append(": ") .append(logEntry.getMessage()).append("\r\n"); return new Artifact(rootFolder + "deviceLog.txt", logBuilder.toString().getBytes()); } return null; } catch (Exception e) { log.info("Could not generate device logs"); return null; } case EXECUTION_RECORD_CSV: return generateCSVRecord(connectedDevice.getDevice(), testName, rootFolder); case EXECUTION_RECORD_HTML: return generateHTMLRecord(connectedDevice.getDevice(), testName, rootFolder, webDriver); case WCAG_REPORT: return generateWCAG(connectedDevice.getDevice(), testName, rootFolder); default: return null; } }
From source file:org.xframium.device.property.SeleniumPropertyAdapter.java
License:Open Source License
@Override public boolean applyInstanceProperties(Properties configurationProperties, Object wDriver) { WebDriver webDriver = (WebDriver) wDriver; webDriver.manage().timeouts().implicitlyWait( getIntProperty(configurationProperties, IMPLICIT_TIMEOUT, 12000), TimeUnit.MILLISECONDS); webDriver.manage().timeouts().pageLoadTimeout( getIntProperty(configurationProperties, PAGE_LOAD_TIMEOUT, 45000), TimeUnit.MILLISECONDS); webDriver.manage().timeouts().setScriptTimeout( getIntProperty(configurationProperties, SET_SCRIPT_TIMEOUT, 30000), TimeUnit.MILLISECONDS); return true;// w w w . ja va 2s . c o m }
From source file:org.xframium.gesture.device.action.spi.perfecto.CleanApplicationAction.java
License:Open Source License
@Override public boolean _executeAction(WebDriver webDriver, List<Object> parameterList) { String executionId = getExecutionId(webDriver); String deviceName = getDeviceName(webDriver); String applicationName = (String) parameterList.get(0); ApplicationDescriptor appDesc = ApplicationRegistry.instance().getApplication(applicationName); Handset localDevice = PerfectoMobile.instance().devices().getDevice(deviceName); if (appDesc.getUrl() != null && !appDesc.getUrl().isEmpty()) { ////from w ww . ja v a2 s . co m // This is a Web URL so clear all cookies // webDriver.manage().deleteAllCookies(); // // clear the browser cache (IOS only) // if ((localDevice.getOs().toLowerCase().equals("ios")) && (webDriver instanceof RemoteWebDriver)) { try { BrowserCacheLogic.clearSafariIOSCache((RemoteWebDriver) webDriver); } catch (Throwable e) { e.printStackTrace(); } } } else { if (localDevice.getOs().toLowerCase().equals("android")) PerfectoMobile.instance().application().clean(executionId, deviceName, appDesc.getName(), appDesc.getAndroidIdentifier()); else log.warn("Could not clean application on " + localDevice.getOs()); } return true; }
From source file:org.xframium.page.keyWord.step.spi.KWSBrowser.java
License:Open Source License
@Override public boolean _executeStep(Page pageObject, WebDriver webDriver, Map<String, Object> contextMap, Map<String, PageData> dataMap, Map<String, Page> pageMap, SuiteContainer sC, ExecutionContextTest executionContext) throws Exception { if (getName().toUpperCase().startsWith(SwitchType.SWITCH_TO_ELEMENT.name)) { Element currentElement = getElement(pageObject, contextMap, webDriver, dataMap, getName().split("\\.")[1], executionContext); if (currentElement == null) { log.warn("Attempting to switch to frame identified by " + getName() + " that does not exist"); return false; }//from w w w . j a v a 2 s . c o m WebElement nativeElement = (WebElement) currentElement.getNative(); if (nativeElement instanceof MorelandWebElement) nativeElement = ((MorelandWebElement) nativeElement).getWebElement(); webDriver.switchTo().frame(nativeElement); } else { switch (SwitchType.valueOf(getName().toUpperCase())) { case SWITCH_BY_TITLE: return verifySwitchWindow(webDriver, getName(), getParameterValue(getParameterList().get(0), contextMap, dataMap, executionContext.getxFID()) + ""); case SWITCH_BY_URL: return verifySwitchWindow(webDriver, getName(), getParameterValue(getParameterList().get(0), contextMap, dataMap, executionContext.getxFID()) + ""); case SWITCH_NAMED_FRAME: webDriver.switchTo().frame(getParameterValue(getParameterList().get(0), contextMap, dataMap, executionContext.getxFID()) + ""); break; case SWITCH_INDEX: webDriver.switchTo().frame(Integer.parseInt(getParameterValue(getParameterList().get(0), contextMap, dataMap, executionContext.getxFID()) + "")); break; case PARENT_FRAME: webDriver.switchTo().parentFrame(); break; case DEFAULT_FRAME: webDriver.switchTo().defaultContent(); break; case CLOSE_WINDOW: webDriver.close(); break; case NAVIGATE: if (isTimed()) ((DeviceWebDriver) webDriver).getCloud().getCloudActionProvider() .startTimer((DeviceWebDriver) webDriver, null, executionContext); webDriver.get(getParameterValue(getParameterList().get(0), contextMap, dataMap, executionContext.getxFID()) + ""); break; case MAXIMIZE: webDriver.manage().window().maximize(); break; case GET_TITLE: String pageTitle = webDriver.getTitle(); if (getParameterList().size() > 1) { String compareTo = getParameterValue(getParameterList().get(0), contextMap, dataMap, executionContext.getxFID()) + ""; if (!compareTo.equals(pageTitle)) { throw new ScriptException( "Expected Title of [" + compareTo + "] but received [" + pageTitle + "]"); } } if (!validateData(pageTitle)) throw new ScriptException("GET_TITLE Expected a format of [" + getValidationType() + "(" + getValidation() + ") for [" + pageTitle + "]"); if (getContext() != null && !getContext().trim().isEmpty()) contextMap.put(getContext(), pageTitle); break; case GET_URL: String currentUrl = webDriver.getCurrentUrl(); if (getParameterList().size() > 1) { String compareTo = getParameterValue(getParameterList().get(0), contextMap, dataMap, executionContext.getxFID()) + ""; if (!compareTo.equals(currentUrl)) { throw new ScriptException( "Expected Title of [" + compareTo + "] but received [" + currentUrl + "]"); } } if (!validateData(currentUrl)) throw new ScriptException("GET_URL Expected a format of [" + getValidationType() + "(" + getValidation() + ") for [" + currentUrl + "]"); if (getContext() != null && !getContext().trim().isEmpty()) contextMap.put(getContext(), currentUrl); break; case BACK: if (isTimed()) ((DeviceWebDriver) webDriver).getCloud().getCloudActionProvider() .startTimer((DeviceWebDriver) webDriver, null, executionContext); webDriver.navigate().back(); break; case FORWARD: if (isTimed()) ((DeviceWebDriver) webDriver).getCloud().getCloudActionProvider() .startTimer((DeviceWebDriver) webDriver, null, executionContext); webDriver.navigate().forward(); break; case REFRESH: webDriver.navigate().refresh(); break; case SWITCH_WIN_INDEX: int i = 0; int index = 0; if (getParameterList().size() < 2) index = 0; else index = Integer.valueOf(getParameterValue(getParameterList().get(1), contextMap, dataMap, executionContext.getxFID()) + ""); for (String handle : webDriver.getWindowHandles()) { if (i == index) { webDriver.switchTo().window(handle); break; } i += 1; } break; case ADD_COOKIE: Cookie addCookie = new Cookie( getParameterValue(getParameterList().get(0), contextMap, dataMap, executionContext.getxFID()) + "", getParameterValue(getParameterList().get(1), contextMap, dataMap, executionContext.getxFID()) + ""); if (webDriver instanceof RemoteWebDriver) ((RemoteWebDriver) webDriver).manage().addCookie(addCookie); else if (webDriver instanceof NativeDriverProvider && ((NativeDriverProvider) webDriver).getNativeDriver() instanceof RemoteWebDriver) { ((RemoteWebDriver) ((NativeDriverProvider) webDriver).getNativeDriver()).manage() .addCookie(addCookie); } break; case DELETE_COOKIE: if (getParameterList().size() < 1) { if (webDriver instanceof RemoteWebDriver) ((RemoteWebDriver) webDriver).manage().deleteAllCookies(); else if (webDriver instanceof NativeDriverProvider && ((NativeDriverProvider) webDriver).getNativeDriver() instanceof RemoteWebDriver) { ((RemoteWebDriver) ((NativeDriverProvider) webDriver).getNativeDriver()).manage() .deleteAllCookies(); } } else { if (webDriver instanceof RemoteWebDriver) ((RemoteWebDriver) webDriver).manage() .deleteCookieNamed(getParameterValue(getParameterList().get(0), contextMap, dataMap, executionContext.getxFID()) + ""); else if (webDriver instanceof NativeDriverProvider && ((NativeDriverProvider) webDriver).getNativeDriver() instanceof RemoteWebDriver) { ((RemoteWebDriver) ((NativeDriverProvider) webDriver).getNativeDriver()).manage() .deleteCookieNamed(getParameterValue(getParameterList().get(0), contextMap, dataMap, executionContext.getxFID()) + ""); } } break; case GET_COOKIE: if (getParameterList().size() < 1) { Set<Cookie> cookieSet = null; if (webDriver instanceof RemoteWebDriver) cookieSet = ((RemoteWebDriver) webDriver).manage().getCookies(); else if (webDriver instanceof NativeDriverProvider && ((NativeDriverProvider) webDriver).getNativeDriver() instanceof RemoteWebDriver) { cookieSet = ((RemoteWebDriver) ((NativeDriverProvider) webDriver).getNativeDriver()) .manage().getCookies(); } StringBuilder buffer = new StringBuilder(); for (Cookie cookie : cookieSet) { buffer.append(cookie.getName() + ":" + cookie.getValue()).append(";"); if (getContext() != null) { contextMap.put(getContext() + "_" + cookie.getName(), cookie.getValue()); } } String cookieValue = buffer.toString(); if (!validateData(cookieValue)) { throw new IllegalStateException("Get cookie Expected a format of [" + getValidationType() + "(" + getValidation() + ") for [" + cookieValue + "]"); } if (getContext() != null) { contextMap.put(getContext(), cookieValue); } } else { Cookie getCookie = null; if (webDriver instanceof RemoteWebDriver) getCookie = ((RemoteWebDriver) webDriver).manage() .getCookieNamed(getParameterValue(getParameterList().get(0), contextMap, dataMap, executionContext.getxFID()) + ""); else if (webDriver instanceof NativeDriverProvider && ((NativeDriverProvider) webDriver).getNativeDriver() instanceof RemoteWebDriver) getCookie = ((RemoteWebDriver) ((NativeDriverProvider) webDriver).getNativeDriver()) .manage().getCookieNamed(getParameterValue(getParameterList().get(0), contextMap, dataMap, executionContext.getxFID()) + ""); if (!validateData(getCookie.getValue())) { throw new IllegalStateException("Get cookie Expected a format of [" + getValidationType() + "(" + getValidation() + ") for [" + getCookie.getValue() + "]"); } if (getContext() != null) { contextMap.put(getContext(), getCookie.getValue()); } } break; case PAGE_DOWN: int pageDown = 1; if (getParameter("Page Count") != null) pageDown = Integer.parseInt(getParameterValue(getParameter("Page Count"), contextMap, dataMap, executionContext.getxFID())); if (webDriver instanceof JavascriptExecutor) ((JavascriptExecutor) webDriver) .executeScript("window.scrollBy( 0, (window.innerHeight * " + pageDown + "));"); break; case PAGE_UP: int pageUp = 1; if (getParameter("Page Count") != null) pageUp = Integer.parseInt(getParameterValue(getParameter("Page Count"), contextMap, dataMap, executionContext.getxFID())); if (webDriver instanceof JavascriptExecutor) ((JavascriptExecutor) webDriver) .executeScript("window.scrollBy( 0, -(window.innerHeight * " + pageUp + "));"); break; case SCROLL_DOWN: int scrollDown = 250; if (getParameter("Scroll Size") != null) scrollDown = Integer.parseInt(getParameterValue(getParameter("Scroll Size"), contextMap, dataMap, executionContext.getxFID())); if (webDriver instanceof JavascriptExecutor) ((JavascriptExecutor) webDriver).executeScript("window.scrollBy( 0, " + scrollDown + ");"); break; case SCROLL_UP: int scrollUp = 250; if (getParameter("Scroll Size") != null) scrollUp = Integer.parseInt(getParameterValue(getParameter("Scroll Size"), contextMap, dataMap, executionContext.getxFID())); if (webDriver instanceof JavascriptExecutor) ((JavascriptExecutor) webDriver).executeScript("window.scrollBy( 0, -" + scrollUp + ");"); break; default: throw new ScriptConfigurationException("Unknown Window Operation Type " + getName()); } } return true; }
From source file:org.xframium.page.keyWord.step.spi.KWSWindow.java
License:Open Source License
@Override public boolean _executeStep(Page pageObject, WebDriver webDriver, Map<String, Object> contextMap, Map<String, PageData> dataMap, Map<String, Page> pageMap) throws Exception { if (log.isDebugEnabled()) log.debug("Execution Function " + getName()); if (getParameterList().size() < 1) throw new IllegalArgumentException( "First Parameter Switchtype should be provided with values BY_WINTITLE| BY_WINURL|BY_FRAME|BY_PARENTFRAME|BY_DEFAULT"); try {// ww w.ja v a 2 s.c o m // Verify if the parameter-1 values are correct String switchType = getParameterValue(getParameterList().get(0), contextMap, dataMap) + ""; String switchExpValue = ""; switch (SwitchType.valueOf(switchType)) { case BY_WINTITLE: if (getParameterList().size() < 2) throw new IllegalArgumentException("Please provide the title for the window as a parameter"); switchExpValue = getParameterValue(getParameterList().get(1), contextMap, dataMap) + ""; return verifySwitchWindow(webDriver, switchType, switchExpValue); case BY_WINURL: if (getParameterList().size() < 2) throw new IllegalArgumentException("Please provide the URL for the window as a parameter"); switchExpValue = getParameterValue(getParameterList().get(1), contextMap, dataMap) + ""; return verifySwitchWindow(webDriver, switchType, switchExpValue); case BY_FRAME: if (getParameterList().size() < 2) throw new IllegalArgumentException("Please provide the Frame id for the Frame as a parameter"); switchExpValue = getParameterValue(getParameterList().get(1), contextMap, dataMap) + ""; webDriver.switchTo().frame(switchExpValue); break; case BY_PARENTFRAME: webDriver.switchTo().parentFrame(); break; case BY_DEFAULT: webDriver.switchTo().defaultContent(); break; case BY_WINCLOSE: webDriver.close(); break; case BY_ELEMENT: Element currentElement = getElement(pageObject, contextMap, webDriver, dataMap); if (currentElement == null) { log.warn("Attempting to switch to frame identified by " + getName() + " that does not exist"); return false; } WebElement nativeElement = (WebElement) currentElement.getNative(); if (nativeElement instanceof MorelandWebElement) nativeElement = ((MorelandWebElement) nativeElement).getWebElement(); webDriver.switchTo().frame(nativeElement); break; case BY_ALERT: WebDriverWait alertWait = new WebDriverWait(webDriver, 5); alertWait.until(ExpectedConditions.alertIsPresent()); Alert alert = webDriver.switchTo().alert(); alert.accept(); break; case BY_MAXIMIZE: webDriver.manage().window().maximize(); break; default: throw new IllegalArgumentException( "Parameter switchtype should be BY_WINTITLE| BY_WINURL|BY_FRAME|BY_PARENTFRAME|BY_DEFAULT|BY_ALERT|BY_ELEMENT|BY_MAXIMIZE"); } } catch (Exception e) { log.error("Error executing function for validation [" + getName() + "] on page [" + getPageName() + "]", e); return false; } return true; }
From source file:org.xwiki.test.ui.TestUtils.java
License:Open Source License
/** * Forces the passed driver to wait for a {@link #getTimeout()} number of seconds when looking up page elements * before declaring that it cannot find them. *//*from ww w .j av a2s . c om*/ public void setDriverImplicitWait(WebDriver driver) { driver.manage().timeouts().implicitlyWait(getTimeout(), TimeUnit.SECONDS); }
From source file:org.xwiki.test.ui.TestUtils.java
License:Open Source License
public WebElement findElementWithoutWaiting(WebDriver driver, By by) { // Temporarily remove the implicit wait on the driver since we're doing our own waits... driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS); try {/*from www .j a va2 s . c o m*/ return driver.findElement(by); } finally { setDriverImplicitWait(driver); } }
From source file:org.xwiki.test.ui.TestUtils.java
License:Open Source License
public List<WebElement> findElementsWithoutWaiting(WebDriver driver, By by) { // Temporarily remove the implicit wait on the driver since we're doing our own waits... driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS); try {//from w w w .ja v a 2 s . c om return driver.findElements(by); } finally { setDriverImplicitWait(driver); } }
From source file:org.xwiki.test.ui.TestUtils.java
License:Open Source License
public WebElement findElementWithoutWaiting(WebDriver driver, WebElement element, By by) { // Temporarily remove the implicit wait on the driver since we're doing our own waits... driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS); try {/*from w w w . j ava 2 s . c om*/ return element.findElement(by); } finally { setDriverImplicitWait(driver); } }
From source file:org.xwiki.test.ui.TestUtils.java
License:Open Source License
public List<WebElement> findElementsWithoutWaiting(WebDriver driver, WebElement element, By by) { // Temporarily remove the implicit wait on the driver since we're doing our own waits... driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS); try {/*from w ww. j a v a 2s .c o m*/ return element.findElements(by); } finally { setDriverImplicitWait(driver); } }