Monday, 3 August 2015

Switch between the windows using WebDriver

------------------------------Solution  :- 1 -----------------------------
@Test
    public void switchBetweenTabs() throws InterruptedException{
        driver.navigate().to("****************");
        driver.manage().window().maximize();
        driver.findElement(By.xpath("//*[@id='loginFrm']/table/tbody/tr[1]/td[2]/input[1]")).sendKeys("****");
        driver.findElement(By.xpath("//*[@id='loginFrm']/table/tbody/tr[2]/td[2]/input")).sendKeys("****");
        driver.findElement(By.xpath("//input[@type='submit']")).click();
       
        Thread.sleep(15000);
       
        WebElement viewReport = driver.findElement(By.xpath("//*[starts-with(text(),'Type Wise Status')]"));
        viewReport.click();
       
         ArrayList<String> tabs2 = new ArrayList<String> (driver.getWindowHandles());
         driver.switchTo().window(tabs2.get(1));
         System.out.println(""+driver.switchTo().window(tabs2.get(1)).getTitle());
         //driver.close();
         driver.switchTo().window(tabs2.get(0));
         //driver.switchTo().defaultContent();
       
    }

-----------------Solution  :- 2-----------------------------
 String parentHandle = driver.getWindowHandle(); // get the current window handle
    System.out.println(parentHandle);               //Prints the parent window handle
    String anchorURL = anchor.getAttribute("href"); //Assuming u are clicking on a link which opens a new browser window
    anchor.click();                                 //Clicking on this window
    for (String winHandle : driver.getWindowHandles()) { //Gets the new window handle
        System.out.println(winHandle);
        driver.switchTo().window(winHandle);        // switch focus of WebDriver to the next found window handle (that's your newly opened window)             
    }
//Now your driver works on the current new handle
//Do some work here.....
//Time to go back to parent window
    driver.close();                                 // close newly opened window when done with it
    driver.switchTo().window(parentHandle);         // switch back to the original window

No comments:

Post a Comment