Example usage for org.openqa.selenium.support.ui ExpectedConditions presenceOfElementLocated

List of usage examples for org.openqa.selenium.support.ui ExpectedConditions presenceOfElementLocated

Introduction

In this page you can find the example usage for org.openqa.selenium.support.ui ExpectedConditions presenceOfElementLocated.

Prototype

public static ExpectedCondition<WebElement> presenceOfElementLocated(final By locator) 

Source Link

Document

An expectation for checking that an element is present on the DOM of a page.

Usage

From source file:com.vmware.veei.qe.devcenter.SampleExchangeTest.java

/**
 *  Check Language Filters Available//  w  w  w  .  j a v a 2  s . c  om
 */
@Test
@NavigateTo(SAMPLE_CODE_URL)
public void testCheckAvailableLanguageFilters() {
    new WebDriverWait(driver, 30)
            .until(ExpectedConditions.presenceOfElementLocated(By.cssSelector(".samples")));
    List<WebElement> sampleLanguageList = driver.findElements(By.name("languages-for-samples"));
    List<String> sampleLanguages = new ArrayList<String>();
    for (WebElement element : sampleLanguageList) {
        String currentElementValue = element.getAttribute("value");
        if (currentElementValue.equals("")) {
            currentElementValue = "All";
        }
        sampleLanguages.add(currentElementValue);
    }

    driver.findElement(By.cssSelector(".admin-actions a")).click();

    Select sampleDropdown = new Select(driver.findElement(By.cssSelector("select[name='sample-language']")));
    for (WebElement dropDownOption : sampleDropdown.getOptions()) {
        if (!dropDownOption.getAttribute("value").contains("Select a Language")) {
            assertThat(sampleLanguages.contains(dropDownOption.getAttribute("value"))).isTrue();
        }
    }
}

From source file:com.vmware.veei.qe.devcenter.SampleExchangeTest.java

/**
 * S87859: [Sample Exchange] Add Request Solutions - Snippet
 *
 *///from   ww  w  . j a  v a 2  s . co m
@Test(groups = { "test", "stage" })
@NavigateTo(SAMPLE_CODE_URL)
public void testAddSolutionAsSnippet() {
    // #action 1: Navigates to the page.
    selectTab("Requests");
    addRequest("Rtest", "java", "Airwatch");

    new WebDriverWait(driver, 30)
            .until(ExpectedConditions.presenceOfElementLocated(By.cssSelector("#tabs .nav-tabs li a")));
    // Show all Tabs
    JavascriptExecutor js = (JavascriptExecutor) driver;

    List<WebElement> tabsAvailable = driver.findElements(By.cssSelector("#tabs .nav-tabs li"));
    assertThat(tabsAvailable.size()).isGreaterThan(0);

    // #action 2: Select Tab : Solution
    js.executeScript("$('a[href=#tab-solutions]').parent().click();");
    js.executeScript("$('#tab-solutions').css('display','block');");

    new WebDriverWait(driver, 30).until(ExpectedConditions
            .presenceOfElementLocated(By.cssSelector(".solution-radio-form input[type='radio'][value='new']")))
            .click();

    // #action 3 : Click on New Sample button to open submit solutions page
    js.executeScript("$('.propose-solution-new').submit();");

    // #action 4: Adding sample solution
    new WebDriverWait(driver, 30)
            .until(ExpectedConditions.presenceOfElementLocated(By.cssSelector(".samples h1")));

    driver.findElement(By.cssSelector("input[value='SNIPPET']")).click();

    js.executeScript("$('textarea[name=sample-snippet-content]').val('This is a Sample Snippet');");
    WebElement ckeditor = new WebDriverWait(driver, 10)
            .until(ExpectedConditions.presenceOfElementLocated(By.cssSelector(".cke_wysiwyg_div")));
    ckeditor.click();
    ckeditor.sendKeys("Test Description");
    new Select(driver.findElement(By.name("sample-language"))).selectByIndex(1);

    WebElement sampleSnippetTitle = driver
            .findElement(By.cssSelector("input[type='text'][name='sampleTitle']"));
    sampleSnippetTitle.sendKeys("Solution-Test");

    new Select(driver.findElement(By.name("sample-license"))).selectByIndex(1);

    new WebDriverWait(driver, 30)
            .until(ExpectedConditions
                    .presenceOfElementLocated(By.cssSelector("input[type='checkbox'][name='agreement']")))
            .click();

    WebElement uploadButtonElement = driver.findElement(By.cssSelector("input[type=submit]"));
    WebElement sampleTitle = driver.findElement(By.cssSelector("input[name=sampleTitle]"));
    uploadButtonElement.click();

    String errorMessage = StringUtils.EMPTY;
    // #action 5: verifying the tabs
    try {
        errorMessage = driver.findElement(By.cssSelector(".alert-error")).getText();

        // #action 6:  Nevigate to My Request Page
        driver.get(baseUrl + SAMPLE_CODE_URL);
        selectTab("My Requests");

        // #action 7 : Selecting latest first
        Select dropdown = new Select(driver.findElement(By.cssSelector("#search-results-sort-by")));
        dropdown.selectByIndex(2);

        List<WebElement> requestLinkList = driver
                .findElements(By.cssSelector("#search-results-list .title-list li"));
        for (WebElement requestlink : requestLinkList) {
            String linkHeadText = requestlink.findElement(By.cssSelector("div a")).getText();
            if (linkHeadText.equals("Rtest")) {
                requestlink.click();
                requestlink.findElement(By.cssSelector("div a")).click();
                // #action 8: Deleting created
                JavascriptExecutor jse = (JavascriptExecutor) driver;
                jse.executeScript("$('.request-delete-dialog').submit();");
                new WebDriverWait(driver, 10).until(
                        ExpectedConditions.presenceOfElementLocated(By.cssSelector("#search-results-list")));
                break;
            }
        }
    } catch (Exception e) {
        if (StringUtils.isBlank(errorMessage)) {
            deleteSolution(sampleTitle.getText());
            WaitUtils.waitForPageLoad(driver);
            js.executeScript("$('.request-delete-dialog').submit();");
        }
    }
}

From source file:com.vmware.veei.qe.devcenter.SampleExchangeTest.java

/**
 * [Sample Exchange] View Request Solutions - GIST
 *//*from   ww  w.j a  v a2 s . co m*/
@Test(dataProvider = "getRequestUrl")
public void testAddSolutionAsSnippetAsGitHubGist(String url) {
    // #action 1: Navigates to the page.
    driver.get(url);

    new WebDriverWait(driver, 10)
            .until(ExpectedConditions.presenceOfElementLocated(By.cssSelector(".header-title h1")));

    new WebDriverWait(driver, 30)
            .until(ExpectedConditions.presenceOfElementLocated(By.cssSelector("#tabs .nav-tabs li a")));
    // Show all Tabs
    JavascriptExecutor js = (JavascriptExecutor) driver;

    List<WebElement> tabsAvailable = driver.findElements(By.cssSelector("#tabs .nav-tabs li"));
    assertThat(tabsAvailable.size()).isGreaterThan(0);

    // #action 2: Select Tab : Solution
    js.executeScript("$('a[href=#tab-solutions]').parent().click();");
    js.executeScript("$('#tab-solutions').css('display','block');");

    // #action 3 : Select Radio Button for New Sample
    new WebDriverWait(driver, 30).until(ExpectedConditions
            .presenceOfElementLocated(By.cssSelector(".solution-radio-form input[type='radio'][value='new']")))
            .click();

    // #action 4 : Click on New Sample button to open submit solutions page
    js.executeScript("$('.propose-solution-new').submit();");

    // #action 5: Adding sample solution
    new WebDriverWait(driver, 30)
            .until(ExpectedConditions.presenceOfElementLocated(By.cssSelector(".samples h1")));

    // #action 6: Selecting "Gist" option radio button
    WebElement radioButton = driver.findElement(By.cssSelector("input[value='GIST']"));
    radioButton.click();

    try {
        new WebDriverWait(driver, 10).until(ExpectedConditions
                .presenceOfElementLocated((By.cssSelector("select[name='sample-gist'] option"))));
        // #action 7: Giving input for input fields
        Select gistDropDown = new Select(driver.findElement(By.name("sample-gist")));
        gistDropDown.selectByIndex(1);
    } catch (Exception e) {
    }

    WebElement title = driver.findElement(By.name("sampleTitle"));
    title.sendKeys("Test GITHUB GIST");

    // Waiting for 10 second to load ckeditor
    WebElement ckeditor = new WebDriverWait(driver, 10)
            .until(ExpectedConditions.presenceOfElementLocated(By.cssSelector(".cke_wysiwyg_div")));
    ckeditor.click();
    ckeditor.sendKeys("Test Description for GITHUB GIST");

    new Select(driver.findElement(By.name("sample-language"))).selectByIndex(1);

    // Selecting License Option
    new Select(driver.findElement(By.name("sample-license"))).selectByIndex(1);

    // Add Value to Hidden Field required to Create Sample
    JavascriptExecutor jse = (JavascriptExecutor) driver;
    // Adding version
    WebElement version = driver.findElement(By.name("sdk-tools-versions"));
    version.sendKeys("1.0");

    // Add Value to Hidden Field required to Create Sample
    jse.executeScript("$('[name=sdk-tools]').val('Airwatch').trigger('change');");

    // Give input to the tags
    jse.executeScript("$('input[name=tags]').val('testing').trigger('change');");

    // Agreement check
    driver.findElement(By.cssSelector("input[type='checkbox']")).click();
    // #action 8: Clicking on submit button
    WebElement uploadButtonElement = driver.findElement(By.cssSelector("input[type=submit]"));
    WebElement sampleTitle = driver.findElement(By.cssSelector("input[name=sampleTitle]"));

    uploadButtonElement.click();
    String errorMessage = StringUtils.EMPTY;
    try {
        errorMessage = driver.findElement(By.cssSelector(".alert-error")).getText();
    } catch (NoSuchElementException e) {
        // #action 9: Check for errorMessage
        // "The submission failed because the sample already exists"
        if (StringUtils.isBlank(errorMessage)) {
            deleteSolution(sampleTitle.getText());
        }
    }
}

From source file:com.vmware.veei.qe.devcenter.SampleExchangeTest.java

/**
 * S87854: [Sample Exchange] Add New Sample , Check Edit Link and Delete
 * Link using GITHUB Repository Option//from   www  . j  a v  a2 s .c om
 */
@Test(dataProvider = "getRequestUrl")
public void testAddSolutionAsSnippetAsGitHubRepo(String url) {
    // #action 1: Navigates to the page.
    driver.get(url);

    new WebDriverWait(driver, 10)
            .until(ExpectedConditions.presenceOfElementLocated(By.cssSelector(".header-title h1")));

    new WebDriverWait(driver, 30)
            .until(ExpectedConditions.presenceOfElementLocated(By.cssSelector("#tabs .nav-tabs li a")));
    // Show all Tabs
    JavascriptExecutor js = (JavascriptExecutor) driver;

    List<WebElement> tabsAvailable = driver.findElements(By.cssSelector("#tabs .nav-tabs li"));
    assertThat(tabsAvailable.size()).isGreaterThan(0);

    // #action 2: Select Tab : Solution
    js.executeScript("$('a[href=#tab-solutions]').parent().click();");
    js.executeScript("$('#tab-solutions').css('display','block');");

    // #action 3 : Select Radio Button for New Sample
    WebElement newSampleRadioBtn = new WebDriverWait(driver, 30).until(ExpectedConditions
            .presenceOfElementLocated(By.cssSelector(".solution-radio-form input[type='radio'][value='new']")));
    newSampleRadioBtn.click();

    // #action 4 : Click on New Sample button to open submit solutions page
    js.executeScript("$('.propose-solution-new').submit();");
    // #action 5: Selecting "Repo" option radio button
    WebElement radioButtonList = driver.findElement(By.cssSelector("input[value='REPOSITORY']"));
    radioButtonList.click();

    try {
        new WebDriverWait(driver, 10).until(ExpectedConditions
                .presenceOfElementLocated((By.cssSelector("select[name='sample-repository-url'] option"))));

        // #action 6: Giving input for input fields
        Select gistDropDown = new Select(driver.findElement(By.name("sample-repository-url")));
        gistDropDown.selectByIndex(1);
    } catch (Exception e) {
    }

    WebElement title = driver.findElement(By.name("sampleTitle"));
    title.sendKeys("Test GITHUB Repository");

    // Waiting for 10 second to load ckeditor
    WebElement ckeditor = new WebDriverWait(driver, 10)
            .until(ExpectedConditions.presenceOfElementLocated(By.cssSelector(".cke_wysiwyg_div")));
    ckeditor.click();
    ckeditor.sendKeys("Test Description for GITHUB Repository");

    new Select(driver.findElement(By.name("sample-language"))).selectByIndex(1);

    // Selecting License Option
    new Select(driver.findElement(By.name("sample-license"))).selectByIndex(1);

    // Add Value to Hidden Field required to Create Sample
    JavascriptExecutor jse = (JavascriptExecutor) driver;
    // Adding version
    WebElement version = driver.findElement(By.name("sdk-tools-versions"));
    version.sendKeys("1.0");

    // Add Value to Hidden Field required to Create Sample
    jse.executeScript("$('[name=sdk-tools]').val('Airwatch').trigger('change');");

    // Give input to the tags
    jse.executeScript("$('input[name=tags]').val('testing').trigger('change');");

    // Agreement check
    driver.findElement(By.cssSelector("input[type='checkbox']")).click();
    // #action 7: Clicking on submit button
    WebElement uploadButtonElement = driver.findElement(By.cssSelector("input[type=submit]"));

    WebElement sampleTitle = driver.findElement(By.cssSelector("input[name=sampleTitle]"));
    uploadButtonElement.click();

    String errorMessage = StringUtils.EMPTY;
    try {
        errorMessage = driver.findElement(By.cssSelector(".alert-error")).getText();
    } catch (NoSuchElementException e) {
        // #action 8: Check for errorMessage
        // "The submission failed because the sample already exists"
        if (StringUtils.isBlank(errorMessage)) {
            deleteSolution(sampleTitle.getText());
        }
    }
}

From source file:com.vmware.veei.qe.devcenter.SampleExchangeTest.java

private void deleteSolution(String sampleTitle) {
    JavascriptExecutor js = (JavascriptExecutor) driver;
    js.executeScript("$('a[href=#tab-solutions]').parent().click();");
    js.executeScript("$('#tab-solutions').css('display','block');");

    List<WebElement> existingSolutions = driver.findElements(By.cssSelector(".sample-solution"));

    for (WebElement solution : existingSolutions) {
        WebElement existingSolutionsAnchors = solution.findElement(By.cssSelector(".name"));
        if (existingSolutionsAnchors.getText().contains(sampleTitle)) {
            // #action :  Test Delete Solution
            js.executeScript("$('.solution-delete-dialog').submit();");
            new WebDriverWait(driver, 10)
                    .until(ExpectedConditions.presenceOfElementLocated(By.cssSelector(".header-title")));
            break;
        }//from w  ww.j  a v  a  2 s. com
    }
}

From source file:com.xwikisas.xcs.test.po.tour.XCSPageWithTour.java

License:Open Source License

@Override
public void previousStep() {
    // Get the current step id
    String stepId = getStepId();/* www  .  jav  a2s  .  c  o m*/
    // Click
    getDriver().findElement(By.xpath("//button[@data-role='prev']")).click();
    // Wait until current state disappears
    getDriver().waitUntilCondition(
            ExpectedConditions.not(ExpectedConditions.presenceOfAllElementsLocatedBy(By.id(stepId))));
    // Wait until new step appears
    getDriver().waitUntilCondition(ExpectedConditions.presenceOfElementLocated(By.className("tour")));
}

From source file:com.xwikisas.xcs.test.po.tour.XCSPageWithTour.java

License:Open Source License

@Override
public void nextStep() {
    // Get the current step id
    String stepId = getStepId();//from www  .j  a va2s.c  om
    // Click
    getDriver().findElement(By.xpath("//button[@data-role='next']")).click();
    // Wait until current state disappears
    getDriver().waitUntilCondition(
            ExpectedConditions.not(ExpectedConditions.presenceOfAllElementsLocatedBy(By.id(stepId))));
    // Wait until new step appear
    getDriver().waitUntilCondition(ExpectedConditions.presenceOfElementLocated(By.className("tour")));
}

From source file:com.xwikisas.xcs.test.po.tour.XCSPageWithTour.java

License:Open Source License

@Override
public void resume() {
    getDriver().findElement(By.id("tourResume")).click();
    getDriver().waitUntilCondition(ExpectedConditions.presenceOfElementLocated(By.className("tour")));
}

From source file:com.YOMP.tests.RegistrationTest.java

License:Open Source License

public static void registrationDisabledNextButtonUsingBothCheckBoxes(WebDriver driver) throws Exception {
    WebDriverWait wait = new WebDriverWait(driver, WAIT_TIME);
    wait.until(ExpectedConditions.presenceOfElementLocated(REGISTRATION_TEXTBOX_EMAIL)).clear();
    wait.until(ExpectedConditions.presenceOfElementLocated(REGISTRATION_TEXTBOX_YOUR_NAME))
            .sendKeys("John Doe");
    wait.until(ExpectedConditions.presenceOfElementLocated(REGISTRATION_TEXTBOX_COMPANY)).sendKeys("Numenta");
    wait.until(ExpectedConditions.presenceOfElementLocated(REGISTRATION_TEXTBOX_EMAIL))
            .sendKeys("sghatage@numenta.com");
    /*/*from  w ww .ja va 2s. co m*/
     * Below scenario is "DE-SELECTING both check-boxes" one by one and then
     * checking the save button is disabled or not.
     */
    TestUtilities.waitClick(REGISTRATION_ACCEPT_CHECKBOX, driver, WAIT_TIME);
    Assert.assertFalse(driver.findElement(REGISTRATION_SAVE_DISABLED).isEnabled(), "Next button is enabled");
    TestUtilities.waitClick(REGISTRATION_AUTHORIZE_CHECKBOX, driver, WAIT_TIME);
    Assert.assertFalse(driver.findElement(REGISTRATION_SAVE_DISABLED).isEnabled(), "Next button is enabled");
}

From source file:com.zaizi.automation.alfresco.core.elements.Element.java

License:Open Source License

/**
 * Wait Until Element is present by locator
 *//*from   w  w  w .  j a  va 2  s . c  om*/
public static void waitUntilElementPresent(WebDriver driver, By locator) {

    WebElement myDynamicElement = (new WebDriverWait(driver, 20))
            .until(ExpectedConditions.presenceOfElementLocated(locator));

}