Wednesday, 3 February 2016

How to work on multiple windows and how to work on if child windows changes for every run

package interview;

import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.Test;

public class Multiple_Window_Handling {
WebDriver d;

@Test
public void handlingMultipleWindows()
{
    d=new FirefoxDriver();
    d.get("http://site24.way2sms.com/content/index.html");
    d.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
    d.manage().window().maximize();
    String parent_window=d.getWindowHandle();
    System.out.println("parent window ID is :" + parent_window);
   
    Set<String> allWindowHandles = d.getWindowHandles();
    for (String currentWindowHandle : allWindowHandles) {
    System.out.println("all window ids: " + currentWindowHandle);
    d.switchTo().window(currentWindowHandle);
    System.out.println("now am in child window :");
    System.out.println("child window title is : "+d.getTitle());
   
    if (d.getTitle().equals("Download HolidayIQ Mobile App") ){
        d.manage().window().maximize();
        d.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
        System.out.println("child window is getting maximized : ");
        d.findElement(By.xpath("//*[@id='layerslider']/div[1]/div/a[2]/img")).click();
        d.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
        System.out.println("it is clicking image on child window :");
        String leaseChildTitle=d.getTitle();
       
       /* d.switchTo().window(currentWindowHandle);
        System.out.println("now am in middle page :");*/       
        d.switchTo().window(parent_window);
        System.out.println("now am in parent page :");
   
    }
     else if(d.getTitle().equals("Cars in India » Car Images, Prices, Reviews, Indian Cars | AutoPortal.com®"))
     {           
         System.out.println("Selected 2 Window Title : " + d.getTitle());
         d.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
         d.manage().window().maximize();
         System.out.println("child window is getting maximized : ");
         d.findElement(By.xpath("//*[@id='citydetect']/div[2]/div/div/div[3]/ul/li[3]")).click();
         d.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
         d.findElement(By.xpath("//*[@id='citydetect']/div[2]/div/div/div[2]/span")).click();
         System.out.println("perfomred click operarion on child window :");
         d.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
         String leaseChildTitle=d.getTitle();
         d.switchTo().window(parent_window);
         System.out.println("now am in middle page :");
        
     }

}
 d.quit();


    }
   
   
}
   

No comments:

Post a Comment