Example usage for org.openqa.selenium WebElement findElements

List of usage examples for org.openqa.selenium WebElement findElements

Introduction

In this page you can find the example usage for org.openqa.selenium WebElement findElements.

Prototype

@Override
List<WebElement> findElements(By by);

Source Link

Document

Find all elements within the current context using the given mechanism.

Usage

From source file:com.ibm.sbt.automation.core.test.pageobjects.ListResultPage.java

License:Open Source License

/**
 * Return a list of li WebElement for the Grid that was created on this page
 * /*  w  w w  .  ja  v a  2 s.c o m*/
 * @return {List<WebElement>}
 */
public List<WebElement> getListItems() {
    WebElement resultEl = getWebElement();
    return resultEl.findElements(By.tagName("li"));
}

From source file:com.ibm.sbt.test.sample.framework.SampleFrameworkJava.java

License:Open Source License

private boolean checkCodeDivs(SampleFrameworkResultPage resultPage) {
    WebElement jspDiv = resultPage.getJspSnippetDiv();
    String jspContent = jspDiv.getAttribute("innerHTML");
    WebElement ulNav = resultPage.getCodeNav();
    List<WebElement> tabList = ulNav.findElements(By.xpath(".//a"));
    WebDriverWait wait = new WebDriverWait(resultPage.getWebDriver(), 2);
    tabList.get(1).click();/* ww  w . java  2  s.  c  o  m*/
    boolean docDivDisplayed = wait.until(
            ExpectedConditions.visibilityOfElementLocated(By.id(SampleFrameworkResultPage.DOCSNIPPETDIV)))
            .isDisplayed();

    return jspContent != null && docDivDisplayed;
}

From source file:com.ibm.sbt.test.sample.framework.SampleFrameworkJavaScript.java

License:Open Source License

private boolean checkCodeDivs(SampleFrameworkResultPage resultPage) {
    WebElement jsDiv = resultPage.getJsSnippetDiv();
    String jsContent = jsDiv.getAttribute("innerHTML");
    WebElement ulNav = resultPage.getCodeNav();
    List<WebElement> tabList = ulNav.findElements(By.xpath(".//a"));
    WebDriverWait wait = new WebDriverWait(resultPage.getWebDriver(), 5l);
    tabList.get(1).click();/*from ww w.j a va  2 s . c  o  m*/
    boolean htmlDivDisplayed = wait.until(
            ExpectedConditions.visibilityOfElementLocated(By.id(SampleFrameworkResultPage.HTMLSNIPPETDIV)))
            .isDisplayed();
    tabList.get(2).click();
    boolean cssDivDisplayed = wait.until(
            ExpectedConditions.visibilityOfElementLocated(By.id(SampleFrameworkResultPage.CSSSNIPPETDIV)))
            .isDisplayed();
    tabList.get(3).click();
    boolean docDivDisplayed = wait.until(
            ExpectedConditions.visibilityOfElementLocated(By.id(SampleFrameworkResultPage.DOCSNIPPETDIV)))
            .isDisplayed();

    return jsContent != null && htmlDivDisplayed && cssDivDisplayed && docDivDisplayed;
}

From source file:com.ibm.watson.app.qaclassifier.selenium.MenuIT.java

License:Open Source License

@Test
public void validateMenuListHasOptions() {
    WebElement menuIconContainer = driver.findElement(By.id("menuIconContainerDesktop"));
    WebElement menuIconImg = menuIconContainer
            .findElement(By.xpath(".//span[contains(concat(' ', @class, ' '), ' menuIconImg ')]"));

    // Validate that the menu list has options
    menuIconImg.click();/*from w w w . j  av  a2  s .  c  o m*/
    WebElement menuList = driver.findElement(By.className("menu-list"));
    List<WebElement> menuOptions = menuList.findElements(By.xpath(".//ul/li"));
    assertTrue("The menu list has options", menuOptions.size() > 0);
}

From source file:com.ibm.watson.app.qaclassifier.selenium.MenuIT.java

License:Open Source License

@Test
public void clickingOnMenuListItemShowsOverlay() {
    WebElement menuIconContainer = driver.findElement(By.id("menuIconContainerDesktop"));
    WebElement menuIconImg = menuIconContainer
            .findElement(By.xpath(".//span[contains(concat(' ', @class, ' '), ' menuIconImg ')]"));

    // Validate that the menu list has options
    menuIconImg.click();//  w  w  w. java2s.com
    WebElement menuList = driver.findElement(By.className("menu-list"));
    assertTrue("After clicking the menu icon, the menu list is visible", menuList.isDisplayed());

    List<WebElement> menuOptions = menuList.findElements(By.xpath(".//ul/li"));

    // The first item should be home, which is hidden on Desktop, so skip it and do the second one
    WebElement firstMenuOption = menuOptions.get(2);
    String firstMenuOptionText = firstMenuOption.getText();
    firstMenuOption.click();
    assertTrue("Clicking on a menu option keeps the menu list open", menuList.isDisplayed());

    WebElement menuOverlay = driver.findElement(By.id("menuOverlay"));
    WebElement menuOverlayHeading = menuOverlay.findElement(By.xpath(".//div[@class='header']/h2"));
    assertThat("The menu list option contains the same text as the menu overlay heading", firstMenuOptionText,
            is(menuOverlayHeading.getText()));
    WebElement menuOverlayContent = menuOverlay.findElement(By.id("menuContent"));
    assertTrue("The menu overlay contains some text content for the selected menu option",
            menuOverlayContent.getText().length() > 0);
}

From source file:com.ibm.watson.app.qaclassifier.selenium.MenuIT.java

License:Open Source License

@Test
public void closeMenuOverlayByClickingOnClose() {
    WebElement menuIconContainer = driver.findElement(By.id("menuIconContainerDesktop"));
    WebElement menuIconImg = menuIconContainer
            .findElement(By.xpath(".//span[contains(concat(' ', @class, ' '), ' menuIconImg ')]"));

    menuIconImg.click();//from w w w.ja  v  a 2 s  . com
    WebElement menuList = driver.findElement(By.className("menu-list"));
    List<WebElement> menuOptions = menuList.findElements(By.xpath(".//ul/li"));

    // The first item should be home, which is hidden on Desktop, so skip it and do the second one
    WebElement firstMenuOption = menuOptions.get(2);
    firstMenuOption.click();

    // Hit ESC closes the menu overlay
    WebElement menuOverlay = driver.findElement(By.id("menuOverlay"));
    WebElement close = menuOverlay
            .findElement(By.xpath(".//span[contains(concat(' ', @class, ' '), ' close ')]"));
    close.click();
    assertTrue("Hitting the close button closes the menu overlay",
            driver.findElements(By.id("menuOverlay")).size() == 0);
}

From source file:com.ibm.watson.app.qaclassifier.selenium.MenuIT.java

License:Open Source License

@Test
public void closeMenuOverlayWithEscapeKey() {
    WebElement menuIconContainer = driver.findElement(By.id("menuIconContainerDesktop"));
    WebElement menuIconImg = menuIconContainer
            .findElement(By.xpath(".//span[contains(concat(' ', @class, ' '), ' menuIconImg ')]"));

    menuIconImg.click();//from www .  j  a  v  a2s.co m
    WebElement menuList = driver.findElement(By.className("menu-list"));
    List<WebElement> menuOptions = menuList.findElements(By.xpath(".//ul/li"));

    // The first item should be home, which is hidden on Desktop, so skip it and do the second one
    WebElement firstMenuOption = menuOptions.get(2);
    firstMenuOption.click();

    // Press ESC to close overlay
    WebElement menuOverlay = driver.findElement(By.id("menuOverlay"));
    menuOverlay.sendKeys(Keys.ESCAPE);
    assertTrue("Hitting the ESC key closes the menu overlay",
            driver.findElements(By.id("menuOverlay")).size() == 0);
}

From source file:com.ibm.watson.app.qaclassifier.selenium.MenuIT.java

License:Open Source License

@Test
public void closeMenuOverlayByClickingOutsideOfContent() {
    WebElement menuIconContainer = driver.findElement(By.id("menuIconContainerDesktop"));
    WebElement menuIconImg = menuIconContainer
            .findElement(By.xpath(".//span[contains(concat(' ', @class, ' '), ' menuIconImg ')]"));

    menuIconImg.click();//ww  w  .  j  av  a  2  s  . c  o  m
    WebElement menuList = driver.findElement(By.className("menu-list"));
    List<WebElement> menuOptions = menuList.findElements(By.xpath(".//ul/li"));

    // The first item should be home, which is hidden on Desktop, so skip it and do the second one
    WebElement firstMenuOption = menuOptions.get(2);
    firstMenuOption.click();

    // Click outside of the content
    WebElement menuOverlay = driver.findElement(By.id("menuOverlay"));
    WebElement menuContent = menuOverlay.findElement(By.xpath(".//div[@id='menu']"));
    Actions action = new Actions(driver);
    action.moveToElement(menuContent, -1, -1);
    action.click().build().perform();
    assertTrue("Clicking outside of the content closes the menu overlay",
            driver.findElements(By.id("menuOverlay")).size() == 0);
}

From source file:com.ibm.watson.app.qaclassifier.selenium.MenuIT.java

License:Open Source License

@Test
public void clickingOnMenuContentDoesNotCloseOverlay() {
    WebElement menuIconContainer = driver.findElement(By.id("menuIconContainerDesktop"));
    WebElement menuIconImg = menuIconContainer
            .findElement(By.xpath(".//span[contains(concat(' ', @class, ' '), ' menuIconImg ')]"));

    menuIconImg.click();//from  w ww .  ja  v  a2 s  . co  m
    WebElement menuList = driver.findElement(By.className("menu-list"));
    List<WebElement> menuOptions = menuList.findElements(By.xpath(".//ul/li"));

    // The first item should be home, which is hidden on Desktop, so skip it and do the second one
    WebElement firstMenuOption = menuOptions.get(2);
    firstMenuOption.click();

    // Click inside of the content
    WebElement menuOverlay = driver.findElement(By.id("menuOverlay"));
    WebElement menuContent = menuOverlay.findElement(By.xpath(".//div[@id='menu']"));
    Actions action = new Actions(driver);
    action.moveToElement(menuContent, 1, 1);
    action.click().build().perform();
    assertTrue("Clicking inside of the content does not close the menu overlay",
            driver.findElements(By.id("menuOverlay")).size() == 1);
}

From source file:com.ibm.watson.app.qaclassifier.selenium.MenuMobileIT.java

License:Open Source License

@Test
public void clickOnMenuOptionShowsContent() {
    WebElement menuIconImg = driver.findElement(By.className("menuIconImg"));
    WebElement menuList = driver.findElement(By.className("menu-list"));
    WebElement menuContent = driver.findElement(By.className("menu-content"));
    // Click the menu icon, it should show the menu list
    menuIconImg.click();/*from   w w w . j a  v  a2s  .  c  o  m*/

    //Get list of menu options
    List<WebElement> menuOptions = menuList.findElements(By.xpath(".//ul/li"));
    WebElement firstMenuOption = menuOptions.get(2); // Get content of "About" option that has content
    firstMenuOption.click();

    new WebDriverWait(driver, 1).until(ExpectedConditions.visibilityOf(menuContent));
    assertTrue("After clicking on the menu option, the menu option content is displayed",
            menuContent.isDisplayed());
}