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

/**
 * S87854: [Sample Exchange] Add New Sample , Check Edit Link and Delete
 * Link Using GITHUB-GIST Option/*from w  w  w  . ja  v  a 2 s.c  om*/
 */
@Test(groups = { "test", "stage" })
@NavigateTo(SAMPLE_CODE_URL)
public void testAddNewSample_gitHub_gist() {
    // #action 1: Clicking on Add New sample button
    driver.findElement(By.cssSelector(".admin-actions a")).click();
    // #action 2: Selecting "Gist" option radio button
    WebElement radioButtonList = driver.findElement(By.cssSelector("input[value='GIST']"));
    radioButtonList.click();

    WaitUtils.waitForAjaxComplete(driver);
    // #action 3: Giving input for input fields
    new Select(driver.findElement(By.name("sample-gist"))).selectByIndex(1);

    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 4: Clicking on submit button
    WebElement uploadButtonElement = driver.findElement(By.cssSelector("input[type=submit]"));
    uploadButtonElement.click();
    String errorMessage = StringUtils.EMPTY;
    try {
        errorMessage = driver.findElement(By.cssSelector(".alert-error")).getText();
    } catch (NoSuchElementException e) {
        // #action 5: Check for errorMessage "The submission failed because the sample already exists"
        if (StringUtils.isBlank(errorMessage)) {
            verify_delete_AfterCreateSample();
        }
    }
}

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/* w  w  w  .j a  va  2  s  .  c  om*/
 */
@Test(groups = { "test", "stage" })
@NavigateTo(SAMPLE_CODE_URL)
public void testAddNewSample_gitHub_repo() {
    // #action 1: Clicking on Add New sample button
    driver.findElement(By.cssSelector(".admin-actions a")).click();
    // #action 2: Selecting "Repo" option radio button
    WebElement radioButtonList = driver.findElement(By.cssSelector("input[value='REPOSITORY']"));
    radioButtonList.click();

    WaitUtils.waitForAjaxComplete(driver);
    // #action 3: Giving input for input fields
    // Waiting for 10 second to load ckeditors
    WebElement ckeditor = new WebDriverWait(driver, 10)
            .until(ExpectedConditions.presenceOfElementLocated(By.cssSelector(".cke_wysiwyg_div")));
    ckeditor.click();
    ckeditor.sendKeys("Test Description for GITHUB Repository");

    List<WebElement> options = driver
            .findElements(By.cssSelector("select[name='sample-repository-url'] option"));

    assertThat(options.size()).isGreaterThan(0);

    new Select(new WebDriverWait(driver, 10)
            .until(ExpectedConditions.presenceOfElementLocated(By.name("sample-repository-url"))))
                    .selectByIndex(1);

    new WebDriverWait(driver, 10)
            .until(ExpectedConditions.presenceOfElementLocated((By.cssSelector(".file-browser-container"))));

    WebElement title = driver.findElement(By.name("sampleTitle"));
    title.sendKeys("Test 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 4: Clicking on submit button
    WebElement uploadButtonElement = driver.findElement(By.cssSelector("input[type=submit]"));
    uploadButtonElement.click();

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

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

private void verify_delete_AfterCreateSample() {
    WebElement contentDetailsTabHeader = driver.findElement(By.cssSelector(".span9 h1"));
    WebElement contentDetailsTabReadme = driver.findElement(By.cssSelector(".readme"));

    // #expects:  Validating Content of the page
    assertThat(contentDetailsTabReadme).isNotNull();
    assertThat(contentDetailsTabReadme.getText()).isNotEmpty();
    assertThat(contentDetailsTabHeader).isNotNull();
    assertThat(contentDetailsTabHeader.getText()).isNotEmpty();

    WaitUtils.waitForPageLoad(driver);//from www .ja va 2 s.c  om

    // #action : Deleting the sample Entry
    JavascriptExecutor jse = (JavascriptExecutor) driver;
    jse.executeScript("$('.sample-delete-dialog').submit();");

    new WebDriverWait(driver, 10)
            .until(ExpectedConditions.presenceOfElementLocated(By.cssSelector("#search-results-list")));
}

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

/**
 * S87863: [Sample Exchange] Request New Samples , Check Edit Link and
 * Delete Link S87869: [Sample Exchange] Vote for Sample Requests
 *
 *//*from w  ww  .  ja v a2  s .  c  o m*/
@Test(groups = { "test", "stage" })
@NavigateTo(SAMPLE_CODE_URL)
public void testAddNewRequest() {
    // #action 1: Selecting request tab
    selectTab("Requests");

    // Input parameters
    String requestTitle = "Test Request";
    String language = "java";
    String sdkTool = "Airwatch";

    // #action 2: Adding request with Input parameters
    addRequest(requestTitle, language, sdkTool);
    // #expects: Verifying the fields with Input parameters
    assertThat(driver.findElement(By.cssSelector(".metadata")).getText()).contains(language);
    assertThat(driver.findElement(By.cssSelector(".metadata")).getText()).contains(sdkTool);
    assertThat(driver.findElement(By.cssSelector(".readme")).getText()).contains("Test Description");
    assertThat(driver.findElement(By.cssSelector(".header-title h1")).getText()).isEqualTo(requestTitle);
    assertThat(driver.findElement(By.cssSelector(".tag")).getText()).isEqualTo("testing");

    // #action 3: Check Post New Comment Functionality
    WebElement commentSection = driver.findElement(By.cssSelector(".comments"));

    String currentCommentValue = commentSection.findElement(By.cssSelector(".badge")).getText();

    WebElement commentsTextArea = driver.findElement(By.name("request-comment"));
    commentsTextArea.sendKeys("Test Comment");

    driver.findElement(By.cssSelector(".comments input[type='submit']")).click();
    WebElement newCommentSection = driver.findElement(By.cssSelector(".comments #comments .badge"));
    // #expects: Verifying the comment section with commentvalue (should not be equal )
    assertThat(newCommentSection.getText()).isNotEqualTo(currentCommentValue);
    List<WebElement> tabsAvailable = driver.findElements(By.cssSelector("#tabs .nav-tabs li a"));
    assertThat(tabsAvailable.size()).isGreaterThan(0);
    // #action 4: Select Tab : Solution
    JavascriptExecutor jse = (JavascriptExecutor) driver;
    jse.executeScript("$('a[href=#tab-solutions]').parent().click();");
    jse.executeScript("$('#tab-solutions').css('display','block');");

    new WebDriverWait(driver, 30)
            .until(ExpectedConditions.presenceOfElementLocated(By.cssSelector(".solution-radio-form")));

    // #action 5: Edit functionality test
    driver.findElement(By.cssSelector(".author-actions .edit a")).click();

    WebElement anchor = driver.findElement(By.cssSelector(".form-horizontal input[type='submit']"));
    anchor.submit();

    // #action 6: Deleting the request sample Entry

    jse.executeScript("$('.request-delete-dialog').submit();");

    new WebDriverWait(driver, 10)
            .until(ExpectedConditions.presenceOfElementLocated(By.cssSelector("#search-results-list")));
}

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

/**
 * S87859: [Sample Exchange] View Code sample details
 *
 *//*from  www. j  av  a2  s .c o m*/
@Test(dataProvider = "getSampleExchangeUrls")
public void testSampleExchangeDetailPage(String url) {
    // #action 1: Navigates to the page.
    driver.get(url);

    WebElement contentDetailsTabHeader = new WebDriverWait(driver, 10)
            .until(ExpectedConditions.presenceOfElementLocated(By.cssSelector(".span9 h1")));

    WebElement contentDetailsTabReadme = driver.findElement(By.cssSelector(".readme"));

    // #expects: Validating Content of the page
    assertThat(contentDetailsTabReadme).isNotNull();
    assertThat(contentDetailsTabReadme.getText()).isNotEmpty();
    assertThat(contentDetailsTabHeader).isNotNull();
    assertThat(contentDetailsTabHeader.getText()).isNotEmpty();

    WebElement contentDownloadButton = driver.findElement(By.cssSelector(".download a"));

    // #expects: Validating download button link should have the URLs
    assertThat(contentDownloadButton.getAttribute("href")).isNotEmpty();

    List<WebElement> tabsAvailable = driver.findElements(By.cssSelector(".menu-tab"));
    // #expects: checking for the avilable tabs size should be greater than 0
    assertThat(tabsAvailable.size()).isGreaterThan(0);

    // #action 2: Select Tab : Browse Code
    JavascriptExecutor jse = (JavascriptExecutor) driver;
    jse.executeScript(" $('#tabs ul li:nth-child(2)').click();");

    new WebDriverWait(driver, 10)
            .until(ExpectedConditions.presenceOfElementLocated(By.cssSelector(".file-content-container")));
}

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

/**
 * S87859: [Sample Exchange] View Code sample
 *
 *//*from  w  w  w . j a  v a  2 s. c om*/
@Test(dataProvider = "getSampleRequestUrls")
public void testSampleRequestDetailPages(String url) {
    // #action 1: Navigates to the page.
    driver.get(url);

    WebElement contentDetailsTabHeader = new WebDriverWait(driver, 30)
            .until(ExpectedConditions.presenceOfElementLocated(By.cssSelector(".header-title  h1")));

    WebElement contentDetailsTabReadme = driver.findElement(By.cssSelector(".readme"));

    // #expects: Validating Content of the page
    assertThat(contentDetailsTabReadme).isNotNull();
    assertThat(contentDetailsTabHeader).isNotNull();
    assertThat(contentDetailsTabReadme.getText()).isNotEmpty();
    assertThat(contentDetailsTabHeader.getText()).isNotEmpty();

    List<WebElement> tabsAvailable = driver.findElements(By.cssSelector("#tabs .nav-tabs li a"));
    // #expects: checking for the avilable tabs size should be greater than 0
    assertThat(tabsAvailable.size()).isGreaterThan(0);
    // #action 2: Select Tab : Solution
    JavascriptExecutor js = (JavascriptExecutor) driver;
    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")));
}

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

/**
 * S87859: [Sample Exchange] View Code sample details
 *
 *///  ww  w.j a  v a2s.c om
@Test(dataProvider = "getMySampleExchangeUrls")
public void testMySampleExchangeDetailPage(String url) {
    // #action 1: Navigates to the page.
    driver.get(url);

    WebElement contentDetailsHeader = new WebDriverWait(driver, 10)
            .until(ExpectedConditions.presenceOfElementLocated(By.cssSelector(".span9 h1")));

    WebElement contentDetailsTabReadme = driver.findElement(By.cssSelector(".readme"));

    // #expects:  Validating Content of the page
    assertThat(contentDetailsTabReadme).isNotNull();
    assertThat(contentDetailsTabReadme.getText()).isNotEmpty();
    assertThat(contentDetailsHeader).isNotNull();
    assertThat(contentDetailsHeader.getText()).isNotEmpty();

    List<WebElement> tabsAvailable = driver.findElements(By.cssSelector("#tabs .nav-tabs li a"));
    // #expects: checking for the avilable tabs size should be greater than 0
    assertThat(tabsAvailable.size()).isGreaterThan(0);

    // #action 2:  Select Tab : Browse Code
    JavascriptExecutor jse = (JavascriptExecutor) driver;
    jse.executeScript(" $('#tabs ul li:nth-child(2)').click();");

    // #action 3: Checking the existence code input area
    driver.findElement(By.cssSelector(".divSplitter"));
    new WebDriverWait(driver, 10)
            .until(ExpectedConditions.presenceOfElementLocated(By.cssSelector(".file-content-container")));

    List<WebElement> linkLists = driver.findElements(By.cssSelector(".download a"));
    for (WebElement link : linkLists) {
        // #expects: Validating download button link should have the URLs
        assertThat(link.getAttribute("href")).isNotEmpty();
    }
}

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

/**
 * S87859: [Sample Exchange] View Code sample
 *
 *///from w w  w. j  a  v  a2  s .co m
@Test(dataProvider = "getMyRequestUrls")
public void testMyRequestDetailPages(String url) {
    // #action 1: Navigates to the page.
    driver.get(url);

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

    WebElement contentDetailsTabReadme = driver.findElement(By.cssSelector(".readme"));
    // #expects:  Validating Content of the page
    assertThat(contentDetailsTabHeader).isNotNull();
    assertThat(contentDetailsTabHeader.getText()).isNotEmpty();
    assertThat(contentDetailsTabReadme).isNotNull();
    assertThat(contentDetailsTabReadme.getText()).isNotEmpty();

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

    assertThat(tabsAvailable.size()).isGreaterThan(0);
    JavascriptExecutor js = (JavascriptExecutor) driver;

    // #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(".propose-solution-new")));

    List<WebElement> solutions = driver.findElements(By.cssSelector(".tab-pane .sample-solution p a"));

    if (solutions.size() != 0) {
        for (WebElement solution : solutions) {
            // #expects:  Validating link of the solutions
            assertThat(solution.getAttribute("href")).isNotEmpty();
        }
    }
}

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

private void commonCancelCheck() {
    List<WebElement> listAnchor = driver.findElements(By.cssSelector(".form-horizontal a"));
    for (WebElement anchor : listAnchor) {
        if (anchor.getText().equalsIgnoreCase("cancel")) {
            anchor.click();//from   w w  w  . j av  a2 s .c om
            break;
        }
    }
    // #expects: samples list should not be null
    assertThat(new WebDriverWait(driver, 30)
            .until(ExpectedConditions.presenceOfElementLocated(By.cssSelector(".samples")))).isNotNull();
}

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

private void checkResultSortDropDown() {
    WebElement sortDropElement = driver.findElement(By.cssSelector("#search-results-sort-by"));
    WebElement sampleCount = driver.findElement(By.cssSelector("#search-results-list strong"));
    if (!sampleCount.getText().equals("0")) {
        Select dropdown = new Select(sortDropElement);
        int dropDownListValue = dropdown.getOptions().size();
        for (int i = 1; i < dropDownListValue; i++) {
            dropdown = new Select(driver.findElement(By.cssSelector("#search-results-sort-by")));
            dropdown.selectByIndex(i);/*from   w w  w. java 2 s. c om*/
            _log.debug("Dropdown selected with index " + i);
            assertThat(new WebDriverWait(driver, 30).until(
                    ExpectedConditions.presenceOfElementLocated(By.cssSelector("#search-results-list ul li"))))
                            .isNotNull();
            assertThat(driver.findElement(By.cssSelector("#search-results-sort-by"))).isNotNull();
        }
    }
}