These commands can be used to switch between windows, iterate through different windows opened by the webdriver, handle pop ups and frames in windows.
GetWindowHandle Command
Purpose:
To get the window handle of the current window.
driver.getWindowHandle(); Returns an alphanumeric string
GetWindowHandles Command
Purpose: To get the window handle of all the current windows.
Set<String> handle=Driver.getWindowHandles();
Returns a set of window handles
SwitchTo Window Command
Purpose: WebDriver supports moving between named windows using the
“switchTo” method.
For(String handle:driver.getWindowHandles())
Driver.switchto().window(handle);
Or
Driver.switchto().window(windowname);
<A href="newwindow.html" target="windowname">click here for a new window </A>
<A href="newwindow.html" target="windowname">click here for a new window </A>
SwitchTo Frame Command
Purpose: WebDriver supports moving between frames using the “switchTo”
method.
Driver.switchto().frame(“framename”);
Driver.switchto().frame(0);
Driver.switchto().frame(previously found element using driver);
All these are evaluated from the current frame. You can go to the sub frames from the current frame. You can go back to the default top frame using the driver.switchTo().defaultContent();
SwitchTo PopUp Command
Purpose:
WebDriver supports moving between named PopUps using the “switchTo” method.
After you’ve triggered an action that opens a popup, you can access the alert and it will return the currently open
alert object. With this object you can now accept, dismiss, read its contents or even type into a
prompt. This interface works equally well on alerts, confirms, and prompts.
Alert alert=driver.switchTo().alert();
Alert.getText();//gets the text of the alert boxAlert.accept();//clicks on the accept button
Alert.dismiss();//clicks on the cancel button
Alert.sendkeys("yes"); // sends keys strokes
Alert.authenticateusing(credentials);//Used for authentication like proxy server
Credentials credentials=new UserAndPassword("admin","password");
Example program:
String parentWindowHandle = browser.getWindowHandle(); // save the current window handle. WebDriver popup = null; Iterator<String> windowIterator = browser.getWindowHandles(); while(windowIterator.hasNext()) { String windowHandle = windowIterator.next(); popup = browser.switchTo().window(windowHandle); if (popup.getTitle().equals("Google") { break; } } Finds a window pop up with title google.
popup.close() would close the pop up.
Comments
Post a Comment