List of usage examples for org.openqa.selenium WebDriver findElements
@Override List<WebElement> findElements(By by);
From source file:net.mindengine.galen.tests.specs.reader.ObjectDefinitionReaderErrorHandlingTest.java
License:Apache License
@Test(expectedExceptions = { WebDriverException.class }) public void shouldHandleNullPointerInSeleniumPageAsWebDriverError() throws Exception { // given/*from ww w . ja va2s . c o m*/ PageSpecReader pageSpecReader = mock(PageSpecReader.class); WebDriver driver = mock(WebDriver.class); VarsContext varsContext = mock(VarsContext.class); SeleniumPage seleniumPage = new SeleniumPage(driver); PageSpec pageSpec = new PageSpec(); StateObjectDefinition stateObjectDefinition = new StateObjectDefinition(pageSpec, pageSpecReader); String line = "myObject-* css .avc"; Place place = new Place("", 1); // when when(driver.findElements(any(By.class))).thenThrow(new NullPointerException()); when(pageSpecReader.getPage()).thenReturn(seleniumPage); when(varsContext.process(line)).thenReturn(line); stateObjectDefinition.process(varsContext, line, place); }
From source file:net.mindengine.galen.tests.specs.reader.ObjectDefinitionReaderErrorHandlingTest.java
License:Apache License
@Test(expectedExceptions = { WebDriverException.class }) public void shouldHandleRethrowWebDriverError() throws Exception { // given/*from ww w .j av a 2s . c om*/ PageSpecReader pageSpecReader = mock(PageSpecReader.class); WebDriver driver = mock(WebDriver.class); VarsContext varsContext = mock(VarsContext.class); SeleniumPage seleniumPage = new SeleniumPage(driver); PageSpec pageSpec = new PageSpec(); StateObjectDefinition stateObjectDefinition = new StateObjectDefinition(pageSpec, pageSpecReader); String line = "myObject-* css .avc"; Place place = new Place("", 1); // when when(driver.findElements(any(By.class))).thenThrow(new WebDriverException()); when(pageSpecReader.getPage()).thenReturn(seleniumPage); when(varsContext.process(line)).thenReturn(line); stateObjectDefinition.process(varsContext, line, place); }
From source file:net.mindengine.galen.tests.specs.reader.ObjectDefinitionReaderErrorHandlingTest.java
License:Apache License
@Test(expectedExceptions = { WebDriverException.class }) public void shouldHandleStaleElementReferenceException() throws Exception { // given/*w ww. j a v a2 s.c o m*/ PageSpecReader pageSpecReader = mock(PageSpecReader.class); WebDriver driver = mock(WebDriver.class); VarsContext varsContext = mock(VarsContext.class); SeleniumPage seleniumPage = new SeleniumPage(driver); PageSpec pageSpec = new PageSpec(); StateObjectDefinition stateObjectDefinition = new StateObjectDefinition(pageSpec, pageSpecReader); String line = "myObject-* css .avc"; Place place = new Place("", 1); // when when(driver.findElements(any(By.class))).thenThrow(new StaleElementReferenceException("")); when(pageSpecReader.getPage()).thenReturn(seleniumPage); when(varsContext.process(line)).thenReturn(line); stateObjectDefinition.process(varsContext, line, place); }
From source file:net.osgiliath.messaging.repository.impl.itests.ITHelloWebUITest.java
License:Apache License
@Test public void testSayHello() throws Exception { final WebDriver driver; driver = new FirefoxDriver(); // Sleep until the elements we want is visible or 5 seconds is over long end = System.currentTimeMillis() + 10000; (new WebDriverWait(driver, 300)).until(new ExpectedCondition<Boolean>() { public Boolean apply(WebDriver d) { driver.get("http://localhost:8181/net.osgiliath.hello.ui"); boolean ret = d.getTitle().toLowerCase().startsWith("hello"); if (!ret) { driver.navigate().refresh(); }//from w ww . ja v a 2s . c om return ret; } }); WebElement element; element = driver.findElement(By.id("helloInput")); element.click(); element.sendKeys(CORRECT_NAME); element = driver.findElement(By.id("helloButton")); element.click(); (new WebDriverWait(driver, 20)).until(new ExpectedCondition<Boolean>() { public Boolean apply(WebDriver d) { Collection<WebElement> cells = d.findElements(By.xpath("//table//tr//td")); return cells.size() == 1; } }); end = System.currentTimeMillis() + 10000; driver.close(); }
From source file:nz.co.testamation.core.client.SeleniumBrowserDriver.java
License:Apache License
private void executeAndWaitForPageLoad(Work work) { work.execute();// www. ja v a 2s.c o m if (StringUtils.isNotBlank(endOfPageElementId)) { new WebDriverWait(getDriver(), defaultWaitTimeInSeconds).until(new Predicate<WebDriver>() { @Override public boolean apply(WebDriver webDriver) { return !webDriver.findElements(By.id(endOfPageElementId)).isEmpty(); } }); } }
From source file:objective.taskboard.it.MainPage.java
License:Open Source License
private void assertIssues(By by, By bySubSelector, String... expectedIssueKeyList) { waitUntil(new ExpectedCondition<Boolean>() { private String[] actualIssueKeyList; @Override//from w w w. j av a 2 s .c o m public Boolean apply(WebDriver driver) { try { actualIssueKeyList = driver.findElements(by).stream() .filter(i -> getElement(i, bySubSelector).isDisplayed()) .map(i -> i.findElement(cssSelector(".key.issue-item"))) .map(i -> i.getAttribute("data-issue-key").trim()).toArray(String[]::new); return Arrays.equals(expectedIssueKeyList, actualIssueKeyList); } catch (StaleElementReferenceException e) { return null; } } @Override public String toString() { return String.format("issue key list to be \"%s\". Current issue key list: \"%s\"", join(expectedIssueKeyList, ","), join(actualIssueKeyList, ",")); } private WebElement getElement(WebElement element, By bySubSelector) { if (bySubSelector != null) return element.findElement(bySubSelector); return element; } }); }
From source file:omelet.common.ExpectedConditionExtended.java
License:Apache License
/** * An expectation for checking that an element is either invisible or not * present on the DOM.//w ww . j a v a 2 s. c o m * * @param locator * used to find the element */ public static ExpectedCondition<Boolean> invisibilityOfElementLocated(final By locator) { return new ExpectedCondition<Boolean>() { public Boolean apply(@Nonnull WebDriver driver) { try { return driver.findElements(locator).isEmpty(); } catch (NoSuchElementException e) { LOGGER.error(e); return true; } catch (StaleElementReferenceException e) { // Returns true , need to check if stale means invisible LOGGER.error(e); return true; } } @Override public String toString() { return "element to no longer be visible: "; } }; }
From source file:org.alfresco.po.share.cmm.FactoryShareCMMPage.java
License:Open Source License
public HtmlPage getPage(final WebDriver driver) throws PageException { HtmlPage page = resolvePage(driver); // check for Share Error Popup if (page instanceof UnknownSharePage) { try {//from w w w . j av a 2 s . c o m List<WebElement> shareDialogues = driver.findElements(By.cssSelector("div.dijitDialogTitleBar")); for (WebElement shareDialogue : shareDialogues) { if (shareDialogue.isDisplayed()) { if (logger.isDebugEnabled()) { logger.debug(shareDialogue.getText()); } return resolveShareCMMDialoguePage(driver, page); } } } catch (Exception e) { } // check for SharePage if (driver.getCurrentUrl().contains(TPG_HASH)) { return instantiatePage(driver, pages.get("ManageTypesAndAspects")); } else if (driver.getCurrentUrl().contains(PROPERTIES_HASH)) { return instantiatePage(driver, pages.get("ManageProperties")); } else if (driver.getCurrentUrl().contains(FORM_EDITOR_HASH)) { return instantiatePage(driver, pages.get("FormEditor")); } else if (driver.getCurrentUrl().contains(CMM_URL)) { return instantiatePage(driver, pages.get("ModelManager")); } else if (page instanceof AdminConsolePage) { return instantiatePage(driver, AdminConsolePage.class); } } // check for SharePage if (driver.getCurrentUrl().contains(TPG_HASH)) { return instantiatePage(driver, pages.get("ManageTypesAndAspects")); } else if (driver.getCurrentUrl().contains(PROPERTIES_HASH)) { return instantiatePage(driver, pages.get("ManageProperties")); } else if (driver.getCurrentUrl().contains(FORM_EDITOR_HASH)) { return instantiatePage(driver, pages.get("FormEditor")); } else if (driver.getCurrentUrl().endsWith(CMM_URL) || driver.getCurrentUrl().endsWith(VIEW_MODELS_HASH)) { return instantiatePage(driver, pages.get("ModelManager")); } else if (page instanceof AdminConsolePage) { return instantiatePage(driver, AdminConsolePage.class); } else { return page; } }
From source file:org.alfresco.po.share.cmm.FactoryShareCMMPage.java
License:Open Source License
/** * Resolve share cmm dialogue page./*www . j a va2s. com*/ * * @param driver the driver * @return the html page */ private HtmlPage resolveShareCMMDialoguePage(WebDriver driver, HtmlPage page) { HtmlPage sharePage = page; String createModel = getValue("cmm.dialogue.label.create.model"); String importModel = getValue("cmm.dialogue.label.import.model"); String createType = getValue("cmm.dialogue.label.create.type"); String createPropGroup = getValue("cmm.dialogue.label.create.property.group"); String createProperty = getValue("cmm.dialogue.label.create.property"); String deleteModelConfirmation = getValue("cmm.dialogue.label.delete.model"); String deleteTypeConfirmation = getValue("cmm.dialogue.label.delete.type"); String deleteAspectConfirmation = getValue("cmm.dialogue.label.delete.aspect"); String deletePropertyConfirmation = getValue("cmm.dialogue.label.delete.property"); String editModel = getValue("cmm.dialogue.label.edit.model"); String editType = getValue("cmm.dialogue.label.edit.type"); String editAspect = getValue("cmm.dialogue.label.edit.aspect"); String editProperty = getValue("cmm.dialogue.label.edit.property"); String applyDefaultLayout = getValue("cmm.dialogue.label.applyDefault.form.layout"); String clearLayout = getValue("cmm.dialogue.label.clear.form.layout"); try { List<WebElement> elements = driver.findElements(By.cssSelector(SHARE_DIALOGUE_AIKAU)); WebElement dialogue = null; for (WebElement element : elements) { if (element.isDisplayed()) { dialogue = element; break; } } if (dialogue != null && dialogue.isDisplayed()) { String dialogueText = dialogue.getText(); if (createModel.equals(dialogueText)) { sharePage = instantiatePage(driver, CreateNewModelPopUp.class); } else if (createType.equals(dialogueText)) { sharePage = instantiatePage(driver, CreateNewCustomTypePopUp.class); } else if (createPropGroup.equals(dialogueText)) { sharePage = instantiatePage(driver, CreateNewPropertyGroupPopUp.class); } else if (createProperty.equals(dialogueText)) { sharePage = instantiatePage(driver, CreateNewPropertyPopUp.class); } else if (editModel.equals(dialogueText)) { sharePage = instantiatePage(driver, EditModelPopUp.class); } else if (editType.equals(dialogueText)) { sharePage = instantiatePage(driver, EditCustomTypePopUp.class); } else if (editAspect.equals(dialogueText)) { sharePage = instantiatePage(driver, EditPropertyGroupPopUp.class); } else if (editProperty.equals(dialogueText)) { sharePage = instantiatePage(driver, EditPropertyPopUp.class); } else if (applyDefaultLayout.equals(dialogueText)) { sharePage = instantiatePage(driver, ApplyDefaultLayoutPopUp.class); } else if (deleteModelConfirmation.equals(dialogueText) || deleteTypeConfirmation.equals(dialogueText) || deleteAspectConfirmation.equals(dialogueText) || deletePropertyConfirmation.equals(dialogueText)) { sharePage = instantiatePage(driver, ConfirmDeletePopUp.class); } else if (clearLayout.equals(dialogueText)) { sharePage = instantiatePage(driver, ClearFormLayoutPopUp.class); } else if (importModel.equals(dialogueText)) { sharePage = instantiatePage(driver, ImportModelPopUp.class); } } } catch (NoSuchElementException nse) { logger.debug("No Share Dialogue (Aikau Style) open: ", nse); } return sharePage; }
From source file:org.alfresco.po.share.FactorySharePage.java
License:Open Source License
/** * Creates the appropriate page object based on the current page the {@link WebDriver} is on. * * @param driver WebDriver Alfresco unmanned web browser client * @return SharePage the page object response * @throws PageException/*www . ja v a 2s . c o m*/ */ public HtmlPage resolvePage(final WebDriver driver) throws PageException { // Determine if user is logged in if not return login page // if (driver.getTitle().toLowerCase().contains(driver.getLanguageValue("login.title"))) if (driver.getTitle().toLowerCase().contains("login")) { return instantiatePage(driver, LoginPage.class); } else { // Share Error PopUp try { WebElement errorPrompt = driver.findElement(By.cssSelector(FAILURE_PROMPT)); if (errorPrompt.isDisplayed()) { return instantiatePage(driver, SharePopup.class); } } catch (NoSuchElementException nse) { } // Check for Share Dialogue try { WebElement shareDialogue = driver.findElement(By.cssSelector(SHARE_DIALOGUE)); if (shareDialogue.isDisplayed() || !driver.findElements(COPY_MOVE_DIALOGUE_SELECTOR).isEmpty()) { HtmlPage response = resolveShareDialoguePage(driver); if (response != null) { return response; } } } catch (NoSuchElementException n) { } // Determine what page we're on based on url return getPage(driver.getCurrentUrl(), driver); } }