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

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

Introduction

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

Prototype

public static ExpectedCondition<WebElement> elementToBeClickable(final WebElement element) 

Source Link

Document

An expectation for checking an element is visible and enabled such that you can click it.

Usage

From source file:com.ionidea.RegressionNGA.Tests.FooterTest.java

License:Open Source License

@Test

public void testMenu() throws InterruptedException {

    //initiate new page
    MainPage page = new MainPage(driver);
    //WebDriverWait wait = new WebDriverWait(driver,30000);

    //Open main page
    driver.get(m_baseUrl);//from   w  w  w  .j av a  2 s  .  com
    driver.manage().window().maximize();

    //Add all results for footer menu verifying   to array
    String[][] footerMenuResults = { { "/content/ngaweb/about.html", "About" },
            { "/content/ngaweb/opportunities.html", "Opportunities" },
            { "/content/ngaweb/press.html", "Press Office" },
            { "/en/page/show_home_page.html", "National Gallery of Art | NGA Images" },
            { "/subscription_form_ngart.cfm", "Newsletter Subscription" },
            { "/content/ngaweb/notices.html", "Notices" }, { "/content/ngaweb/contact-us.html", "Contact Us" },
            { "/content/ngaweb/audio-video.html", "Audio and Video" } };

    //Add all results for links verifying to array
    String[] footerLinksResults = { "https://www.google.com/maps/place/Constitution+Ave+",
            "https://twitter.com/ngadc", "https://www.facebook.com/nationalgalleryofart",
            "https://www.instagram.com/ngadc/", "https://www.pinterest.com/ngadc/" };

    //Verify all footer menu options
    int index = 0;
    while (index < 8) {
        Thread.sleep(2000);
        driver.get(m_baseUrl);
        m_wait.until(ExpectedConditions.elementToBeClickable(page.footerMenu.get(index)));
        page.footerMenu.get(index).click();
        verifyOpenedPage(footerMenuResults[index][0], footerMenuResults[index][1]);
        System.out.println("the footer menu is verified, index: " + index);
        index++;
    }

    //Verify footer  Social Medi Links
    verifyFooterLinks(footerLinksResults[0], page.directions);
    verifyFooterLinks(footerLinksResults[1], page.twitterLink);
    verifyFooterLinks(footerLinksResults[2], page.facebookLink);
    verifyFooterLinks(footerLinksResults[3], page.instagramLink);
    verifyFooterLinks(footerLinksResults[4], page.pinterestLink);
    System.out.println("All Social Media Links are verified");

    //Verify text of the copyright label
    driver.get(m_baseUrl);
    page.assertTextIsPresent(driver, page.copyRightLabel, " 2016 National Gallery of Art");
    System.out.println("The copyright information is correct");

}

From source file:com.ionidea.RegressionNGA.Tests.pages.WidgetWorksOfArtPage.java

/**
 * /* w  w w .  j  a  v a2s  .  com*/
 * @param list the list of check-boxes
 * @return 
 */
public boolean verifyAllCheckBoxesAreUnselected(List<WebElement> list, FluentWait wait) {
    int index2 = 0;

    //verify all elements from the list
    while (index2 < list.size()) {
        wait.until(ExpectedConditions.elementToBeClickable(list.get(index2)));
        Assert.assertFalse(list.get(index2).isSelected());
        System.out.println("The element is not selected" + list.get(index2));
        index2++;
    }
    return true;
}

From source file:com.ionidea.RegressionNGA.Tests.pages.WidgetWorksOfArtPage.java

/**
 * //from w ww. j  a  va2 s  . co  m
 * @param listToClick - list of WebElements
 * @return boolean 
 */
public boolean clickAllElements(List<WebElement> listToClick, FluentWait wait) {
    int index1 = 0;
    //verify all elements from the list
    while (index1 < listToClick.size()) {
        wait.until(ExpectedConditions.elementToBeClickable(listToClick.get(index1)));
        listToClick.get(index1).click();
        index1++;
    }
    System.out.println("All elements are selected");
    return true;
}

From source file:com.java.AppTestType_18_11_2015.java

public void AMPLOGOUT(WebDriver driver) {

    try {//from   ww  w. j a v  a2s.co  m
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

        driver.findElement(By.linkText("Logout")).click();
        WebDriverWait wait = new WebDriverWait(driver, 30);
        wait.until(ExpectedConditions.elementToBeClickable(By.id("aurid")));
        resultDetails.setFlag(true);
    }

    catch (Exception e) {
        System.out.println("Logout Failed in AMP");
        resultDetails.setFlag(false);

    }

}

From source file:com.java.AppTestType_18_11_2015.java

public void REJECTQUES(WebDriver driver, String fieldText) {

    try {/*  w  w  w .  j  a  v  a 2s.c  om*/
        NAVIGATETOLISTINGDETAILSPAGE(driver);
        driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
        getvalue = driver.findElement(By.xpath("//*[@id='ONengine']/div[7]/span")).getText();

        System.out.println(getvalue);
        // SUMAN

        driver.findElement(By.xpath("//input[@type='button' and @value='Ask it Now']")).click();
        Thread.sleep(2000);
        driver.findElement(By.id("listingQuestion")).click();
        String question = "Can You Reject This Question?";
        driver.findElement(By.id("listingQuestion")).sendKeys(question);
        Thread.sleep(1000);
        driver.findElement(By.name("submitq")).click();
        Thread.sleep(4000);
        driver.findElement(By.xpath("(//input[@value='OK'])[2]")).click();
        Thread.sleep(4000);

        /* driver.findElement(By.id("uname")).click();
        Thread.sleep(10000);
        driver.findElement(By.linkText("Sign Out")).click();*/
        SIGNOUT(driver);

        driver.manage().deleteAllCookies();
        driver.navigate().refresh();

        driver.get(fieldText);
        driver.manage().deleteAllCookies();
        driver.findElement(By.id("aurid")).sendKeys("mglaz@assetnation.com");

        driver.findElement(By.id("apwd")).sendKeys("Equipment1$");
        driver.findElement(By.xpath("//input[@value='Login']")).click();

        driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);

        driver.findElement(By.id("userAgreementBtn")).click();

        Thread.sleep(2000);

        System.out.println("Searching for lot id : " + getvalue);
        driver.findElement(By.name("search_string")).clear();
        driver.findElement(By.name("search_string")).sendKeys(getvalue);
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        ;
        driver.findElement(By.xpath("//button")).click();

        driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);

        driver.findElement(By.linkText("Lot Q/A")).click();
        WebDriverWait wait = new WebDriverWait(driver, 20);
        wait.until(ExpectedConditions.elementToBeClickable(By.linkText("Reject")));

        String ParentHandle = driver.getWindowHandle();
        driver.findElement(By.linkText("Reject")).click();
        for (String winHandle : driver.getWindowHandles()) {

            System.out.println("Entered For Loop");
            driver.switchTo().window(winHandle);
        }

        driver.findElement(By.id("id_button_rejct")).click();

        Thread.sleep(10000);

        driver.switchTo().alert().accept();
        Thread.sleep(2000);
        driver.switchTo().window(ParentHandle);

        resultDetails.setFlag(true);

    }

    catch (StaleElementReferenceException e) {

        if (retries < MAX_STALE_ELEMENT_RETRIES) {

            retries++;
        }

        else {

            throw e;
        }
    } catch (Exception e) {

        resultDetails.setFlag(false);
        e.printStackTrace();
    }
}

From source file:com.java.AppTestType_18_11_2015.java

public void FORWARDTOMM(WebDriver driver, String fieldText) {

    try {//from ww w  .j  av  a 2  s. c om

        NAVIGATETOLISTINGDETAILSPAGE(driver);
        driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
        getvalue = driver.findElement(By.xpath("//*[@id='ONengine']/div[7]/span")).getText();

        System.out.println(getvalue);
        // SUMAN

        driver.findElement(By.xpath("//input[@type='button' and @value='Ask it Now']")).click();
        Thread.sleep(2000);
        driver.findElement(By.id("listingQuestion")).click();
        String question = "Could you forward my question to MM?";
        driver.findElement(By.id("listingQuestion")).sendKeys(question);
        Thread.sleep(1000);
        driver.findElement(By.name("submitq")).click();
        Thread.sleep(4000);
        driver.findElement(By.xpath("(//input[@value='OK'])[2]")).click();
        Thread.sleep(4000);

        /* driver.findElement(By.id("uname")).click();
        Thread.sleep(10000);
        driver.findElement(By.linkText("Sign Out")).click();*/
        SIGNOUT(driver);

        driver.manage().deleteAllCookies();
        driver.navigate().refresh();

        driver.get(fieldText);
        driver.manage().deleteAllCookies();
        driver.findElement(By.id("aurid")).sendKeys("mglaz@assetnation.com");

        driver.findElement(By.id("apwd")).sendKeys("Equipment1$");
        driver.findElement(By.xpath("//input[@value='Login']")).click();

        driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);

        driver.findElement(By.id("userAgreementBtn")).click();

        Thread.sleep(2000);

        System.out.println("Searching for lot id : " + getvalue);
        driver.findElement(By.name("search_string")).clear();
        driver.findElement(By.name("search_string")).sendKeys(getvalue);
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        ;
        driver.findElement(By.xpath("//button")).click();

        driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);

        driver.findElement(By.linkText("Lot Q/A")).click();
        WebDriverWait wait = new WebDriverWait(driver, 20);
        wait.until(ExpectedConditions.elementToBeClickable(By.linkText("Forward")));

        String ParentHandle = driver.getWindowHandle();
        driver.findElement(By.linkText("Forward")).click();
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        ;
        for (String winHandle : driver.getWindowHandles()) {

            System.out.println("Entered For Loop");
            driver.switchTo().window(winHandle);
        }

        Thread.sleep(10000);
        driver.findElement(By.xpath("//*[contains(@onclick,'FORWARDED TO MM')]")).click();
        driver.findElement(By.id("id_button_forward")).click();

        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        ;

        driver.switchTo().alert().accept();
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        ;
        driver.switchTo().window(ParentHandle);

        resultDetails.setFlag(true);

    } catch (StaleElementReferenceException e) {

        if (retries < MAX_STALE_ELEMENT_RETRIES) {

            retries++;
        }

        else {

            throw e;
        }
    } catch (Exception e) {

        resultDetails.setFlag(false);
        resultDetails.setErrorMessage("MM is not displayed for this listing");
        e.printStackTrace();
    }

}

From source file:com.java.AppTestType_18_11_2015.java

public void FORWARDTOSELLER(WebDriver driver, String fieldText) {

    try {//from   ww w  .j  a va 2  s .c o m

        NAVIGATETOLISTINGDETAILSPAGE(driver);
        driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
        getvalue = driver.findElement(By.xpath("//*[@id='ONengine']/div[7]/span")).getText();

        System.out.println(getvalue);
        // SUMAN

        driver.findElement(By.xpath("//input[@type='button' and @value='Ask it Now']")).click();
        Thread.sleep(2000);
        driver.findElement(By.id("listingQuestion")).click();
        String question = "Could you forward my question to SELLER?";
        driver.findElement(By.id("listingQuestion")).sendKeys(question);
        Thread.sleep(1000);
        driver.findElement(By.name("submitq")).click();
        Thread.sleep(4000);
        driver.findElement(By.xpath("(//input[@value='OK'])[2]")).click();
        Thread.sleep(4000);

        /* driver.findElement(By.id("uname")).click();
        Thread.sleep(10000);
        driver.findElement(By.linkText("Sign Out")).click();*/
        SIGNOUT(driver);

        driver.manage().deleteAllCookies();
        driver.navigate().refresh();

        driver.get(fieldText);
        driver.manage().deleteAllCookies();
        driver.findElement(By.id("aurid")).sendKeys("mglaz@assetnation.com");

        driver.findElement(By.id("apwd")).sendKeys("Equipment1$");
        driver.findElement(By.xpath("//input[@value='Login']")).click();

        driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);

        driver.findElement(By.id("userAgreementBtn")).click();

        Thread.sleep(2000);

        System.out.println("Searching for lot id : " + getvalue);
        driver.findElement(By.name("search_string")).clear();
        driver.findElement(By.name("search_string")).sendKeys(getvalue);
        driver.findElement(By.xpath("//button")).click();

        driver.findElement(By.linkText("Lot Q/A")).click();
        WebDriverWait wait = new WebDriverWait(driver, 20);
        wait.until(ExpectedConditions.elementToBeClickable(By.linkText("Forward")));

        String ParentHandle = driver.getWindowHandle();
        driver.findElement(By.linkText("Forward")).click();
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        ;
        for (String winHandle : driver.getWindowHandles()) {

            System.out.println("Entered For Loop");
            driver.switchTo().window(winHandle);
        }

        Thread.sleep(10000);
        driver.findElement(By.xpath("//*[contains(@onclick,'FORWARDED TO SELLER')]")).click();
        driver.findElement(By.id("id_button_forward")).click();

        driver.findElement(By.id("id_button_forward_seller_location")).click();

        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        ;

        driver.switchTo().alert().accept();
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        ;
        driver.switchTo().window(ParentHandle);

        resultDetails.setFlag(true);

    } catch (StaleElementReferenceException e) {

        if (retries < MAX_STALE_ELEMENT_RETRIES) {

            retries++;
        }

        else {

            throw e;
        }
    } catch (Exception e) {

        resultDetails.setFlag(false);

        resultDetails.setErrorMessage("seller is not displayed for this listing");
        e.printStackTrace();
    }

}

From source file:com.java.AppTestType_18_11_2015.java

public void EQITQUESFWDTOSELLER(WebDriver driver, String fieldText) {

    try {//from w  w  w  .  ja  va  2  s . c o m

        String field = fieldText;

        NAVIGATETOLISTINGDETAILSPAGE(driver);

        getvalue = driver.findElement(By.xpath("//*[@id='ONengine']/div[7]/span")).getText();

        System.out.println(getvalue);
        // SUMAN

        driver.findElement(By.xpath("//input[@type='button' and @value='Ask it Now']")).click();
        Thread.sleep(2000);
        driver.findElement(By.id("listingQuestion")).click();
        String question = "Could you forward my question to SELLER?";
        driver.findElement(By.id("listingQuestion")).sendKeys(question);
        Thread.sleep(1000);
        driver.findElement(By.name("submitq")).click();
        Thread.sleep(4000);
        driver.findElement(By.xpath("(//input[@value='OK'])[2]")).click();
        Thread.sleep(4000);

        /* driver.findElement(By.id("uname")).click();
        Thread.sleep(10000);
        driver.findElement(By.linkText("Sign Out")).click();*/
        SIGNOUT(driver);

        driver.manage().deleteAllCookies();
        driver.navigate().refresh();

        driver.get(fieldText);
        driver.manage().deleteAllCookies();
        driver.findElement(By.id("aurid")).sendKeys("mglaz@assetnation.com");

        driver.findElement(By.id("apwd")).sendKeys("Equipment1$");
        driver.findElement(By.xpath("//input[@value='Login']")).click();

        driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);

        driver.findElement(By.id("userAgreementBtn")).click();

        Thread.sleep(2000);

        System.out.println("Searching for lot id : " + getvalue);
        driver.findElement(By.name("search_string")).clear();
        driver.findElement(By.name("search_string")).sendKeys(getvalue);
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        ;
        driver.findElement(By.xpath("//button")).click();

        driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);

        driver.findElement(By.linkText("Lot Q/A")).click();
        WebDriverWait wait = new WebDriverWait(driver, 20);
        wait.until(ExpectedConditions.elementToBeClickable(By.linkText("Forward")));

        String ParentHandle = driver.getWindowHandle();
        driver.findElement(By.linkText("Forward")).click();
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        ;
        for (String winHandle : driver.getWindowHandles()) {

            System.out.println("Entered For Loop");
            driver.switchTo().window(winHandle);
        }

        Thread.sleep(10000);
        driver.findElement(By.xpath("//*[contains(@onclick,'FORWARDED TO SELLER')]")).click();
        driver.findElement(By.id("id_button_forward")).click();

        driver.findElement(By.id("id_frm_textarea_reply")).sendKeys("change in question forward to seller");
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

        driver.findElement(By.id("id_button_forward_seller_location")).click();

        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        ;

        driver.switchTo().alert().accept();
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        ;
        driver.switchTo().window(ParentHandle);

        resultDetails.setFlag(true);

    } catch (StaleElementReferenceException e) {

        if (retries < MAX_STALE_ELEMENT_RETRIES) {

            retries++;
        }

        else {

            throw e;
        }
    } catch (Exception e) {

        resultDetails.setFlag(false);

        resultDetails.setErrorMessage("seller is not displayed for this listing");
        e.printStackTrace();
    }

}

From source file:com.java.AppTestType_18_11_2015.java

public void FORWARDTOSTORAGE(WebDriver driver, String fieldText) {

    try {// w  ww .java2 s .c  om

        NAVIGATETOLISTINGDETAILSPAGE(driver);
        driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
        getvalue = driver.findElement(By.xpath("//*[@id='ONengine']/div[7]/span")).getText();

        System.out.println(getvalue);
        // SUMAN

        driver.findElement(By.xpath("//input[@type='button' and @value='Ask it Now']")).click();
        Thread.sleep(2000);
        driver.findElement(By.id("listingQuestion")).click();
        String question = "Could you forward my question to Storage Location?";
        driver.findElement(By.id("listingQuestion")).sendKeys(question);
        Thread.sleep(1000);
        driver.findElement(By.name("submitq")).click();
        Thread.sleep(4000);
        driver.findElement(By.xpath("(//input[@value='OK'])[2]")).click();
        Thread.sleep(4000);

        /* driver.findElement(By.id("uname")).click();
        Thread.sleep(10000);
        driver.findElement(By.linkText("Sign Out")).click();*/
        SIGNOUT(driver);

        driver.manage().deleteAllCookies();
        driver.navigate().refresh();

        driver.get(fieldText);
        driver.manage().deleteAllCookies();
        driver.findElement(By.id("aurid")).sendKeys("mglaz@assetnation.com");

        driver.findElement(By.id("apwd")).sendKeys("Equipment1$");
        driver.findElement(By.xpath("//input[@value='Login']")).click();

        driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);

        driver.findElement(By.id("userAgreementBtn")).click();

        Thread.sleep(2000);

        System.out.println("Searching for lot id : " + getvalue);
        driver.findElement(By.name("search_string")).clear();
        driver.findElement(By.name("search_string")).sendKeys(getvalue);
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        ;
        driver.findElement(By.xpath("//button")).click();

        driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);

        driver.findElement(By.linkText("Lot Q/A")).click();

        WebDriverWait wait = new WebDriverWait(driver, 20);
        wait.until(ExpectedConditions.elementToBeClickable(By.linkText("Forward")));

        String ParentHandle = driver.getWindowHandle();
        driver.findElement(By.linkText("Forward")).click();
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        ;
        for (String winHandle : driver.getWindowHandles()) {

            System.out.println("Entered For Loop");
            driver.switchTo().window(winHandle);
        }
        Thread.sleep(5000);
        driver.findElement(By.xpath("//*[contains(@onclick,'FORWARDED TO LOCATION')]")).click();
        driver.findElement(By.id("id_button_forward")).click();

        driver.findElement(By.id("id_button_forward_seller_location")).click();

        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        ;

        driver.switchTo().alert().accept();
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        ;
        driver.switchTo().window(ParentHandle);

        resultDetails.setFlag(true);

    } catch (Exception e) {

        resultDetails.setFlag(false);

        resultDetails.setErrorMessage("Storage location is not displayed for this listing");
        e.printStackTrace();
    }

}

From source file:com.java.AppTestType_18_11_2015.java

public void FORWARDTOPM(WebDriver driver, String fieldText) {

    try {/*  ww w . j a va  2 s  . c  o m*/

        NAVIGATETOLISTINGDETAILSPAGE(driver);
        driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
        getvalue = driver.findElement(By.xpath("//*[@id='ONengine']/div[7]/span")).getText();

        System.out.println(getvalue);
        // SUMAN

        driver.findElement(By.xpath("//input[@type='button' and @value='Ask it Now']")).click();
        Thread.sleep(2000);
        driver.findElement(By.id("listingQuestion")).click();
        String question = "Could you forward my question to SELLER?";
        driver.findElement(By.id("listingQuestion")).sendKeys(question);
        Thread.sleep(1000);
        driver.findElement(By.name("submitq")).click();
        Thread.sleep(4000);
        driver.findElement(By.xpath("(//input[@value='OK'])[2]")).click();
        Thread.sleep(4000);

        /* driver.findElement(By.id("uname")).click();
        Thread.sleep(10000);
        driver.findElement(By.linkText("Sign Out")).click();*/
        SIGNOUT(driver);

        driver.manage().deleteAllCookies();
        driver.navigate().refresh();

        driver.get(fieldText);
        driver.manage().deleteAllCookies();
        driver.findElement(By.id("aurid")).sendKeys("mglaz@assetnation.com");

        driver.findElement(By.id("apwd")).sendKeys("Equipment1$");
        driver.findElement(By.xpath("//input[@value='Login']")).click();

        driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);

        driver.findElement(By.id("userAgreementBtn")).click();

        Thread.sleep(2000);

        System.out.println("Searching for lot id : " + getvalue);
        driver.findElement(By.name("search_string")).clear();
        driver.findElement(By.name("search_string")).sendKeys(getvalue);
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        ;
        driver.findElement(By.xpath("//button")).click();
        driver.findElement(By.linkText("Lot Q/A")).click();
        WebDriverWait wait = new WebDriverWait(driver, 20);
        wait.until(ExpectedConditions.elementToBeClickable(By.linkText("Forward")));

        String ParentHandle = driver.getWindowHandle();
        driver.findElement(By.linkText("Forward")).click();
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        ;
        for (String winHandle : driver.getWindowHandles()) {

            System.out.println("Entered For Loop");
            driver.switchTo().window(winHandle);
        }
        Thread.sleep(5000);
        driver.findElement(By.xpath("//*[contains(@onclick,'FORWARDED TO PM')]")).click();
        driver.findElement(By.id("id_button_forward")).click();

        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        ;

        driver.switchTo().alert().accept();
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        ;
        driver.switchTo().window(ParentHandle);

        resultDetails.setFlag(true);

    } catch (StaleElementReferenceException e) {

        if (retries < MAX_STALE_ELEMENT_RETRIES) {

            retries++;
        }

        else {

            throw e;
        }
    } catch (Exception e) {

        resultDetails.setFlag(false);
        resultDetails.setErrorMessage("PM is not displayed for this listing");
        e.printStackTrace();
    }

}