Some times we have not title of pop window so in this case we can identified some unique text (content ) of popup window which is not in other window. Using this text we can switch to pop window. Below are the logic and implemented code.
                    
                                         
                    
                                                             
                                                             
package com.webdriver.test;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.*;
import
org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.*;
public class HandlePopUP {
    
private WebDriver driver;
    
private String baseUrl;
    
@BeforeSuite
    
public void setUp() throws Exception {
           driver = new FirefoxDriver();
           baseUrl =
"http://rip747.github.io/";
          driver.manage().timeouts().implicitlyWait(30,
TimeUnit.SECONDS);
    
 }
    
@Test
    
public void testHandlePopUp() throws Exception {
          driver.get(baseUrl +
"/popupwindow/");
          driver.findElement(By.linkText("Example
1")).click();
          //get main window id before switch to
popup
          String currentWindowId =
driver.getWindowHandle();
          //retrive all windows id
          Set allWindows =
driver.getWindowHandles(); 
          //switch all windows on by one
                    for
(String windowId : allWindows) {
                          driver.switchTo().window(windowId);
                          String text = "";
                          try {
                                //get text of popup window on which
we want to switch
                                text =
driver.findElement(By.xpath("//a[@title='Contact Me']")).getText();
                             }
                             catch(Exception ex){}
                             //check if you get text
                               if(text.equals("Contact")){                 
                                         //put
here your code what you want to perform on popup
                                         //close
popup
                                         driver.close();
                                         break;
                                }
                               //switch to parent windwo again
                              driver.switchTo().window(currentWindowId);
                    }
     
}
    
@AfterSuite
     
public void tearDown() throws Exception {
                    driver.quit();                                                       
     
}
}
Thank u for How to Create Popup Window For Blogger
ReplyDeleteOne small error-Set allWindows = driver.getWindowHandles();
ReplyDeleteshould be Set allWindows = driver.getWindowHandles();
A small change-Set allWindows = driver.getWindowHandles(); Instead of Set allWindows = driver.getWindowHandles();
ReplyDelete