Selenium Webdriver pop up handling

29,303
-1

Published on

Selenium Webdriver

Published in: Technology, Education
2 Comments
7 Likes
Statistics
Notes
No Downloads
Views
Total Views
29,303
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
2
Likes
7
Embeds 0
No embeds

No notes for slide

Selenium Webdriver pop up handling

  1. 1. PopUp handling in Selenium 2.x By Aparna Naik www.DestinationQA.com 1 www.destinationqa.com
  2. 2. AgendaDifferent types of PopUpsHandling JavaScript PopUpsWebdriver Alerts APIJava AWT Robot class to handle windows popupsOther ways to handle Popups 2 www.destinationqa.com
  3. 3. PopUpsUsually, a web application can generate following types of popup windows:JavaScript PopUps Browser PopUps Native OS PopUps JavaScript popup windows are generated by the web application code. Hence they can be controlled by the browser.Native Popups like the File Upload / Download windows call the operatingsystem’s native interface. Hence once they are opened, the browser has little control over them. 3 www.destinationqa.com
  4. 4. Handling JavaScript PopUpsSelenium provides an API to handleJavaScript PopUps. Alert alert = driver.switchTo().alert();The Alert API allows various operationson the Alert object: accept(), dismiss(), getText(),sendKeys() 4 www.destinationqa.com
  5. 5. Handling Browser and Native OSPopUpsAs Selenium does not provide support tothese kind of Popups, we need toexplore other options. There are severalways to handle such popups like:• Setup Browser Profiles• Use Java.awt.Robot toolkit• Use external program like AutoIT 5 www.destinationqa.com
  6. 6. Setup Browser DefaultsA useful way to handle popups is to set theBrowser Defaults to disable popups whereverpossible. This can usually be done for popupswhich ask whether a File should bedownloaded. 6 www.destinationqa.com
  7. 7. Handling File Download windowsWhen a file is to be downloaded, browser willask you where the file is to be saved.Usually, this option can also be set to a defaultlocation to avoid this popup. 7 www.destinationqa.com
  8. 8. Setup a Browser Profile• Selenium opens up its own profile with default settings each time a driver is initialized. Hence the option settings will not persist.• To avoid this, we can set up a profile for Selenium to use, where these preferences are set as required.Selenium Code to Initialize Profile: ProfilesIni allProfiles = new ProfilesIni(); FirefoxProfile profile = allProfiles.getProfile("Selenium"); 8 www.destinationqa.com
  9. 9. The Java AWT Robot ClassThis class can generate native input events to the underlyingOS using the Keyboard and Mouse InterfacesMethods in this class can be effectively used to do the minimalinteraction with native popups occurring in Web Applications.Some of the useful API provided are: • keyPress(); • mousePress(); • Mousemove(); 9 www.destinationqa.com
  10. 10. The Java AWT Robot Class Contd..Although the Robot Class can be used to interactwith PopUps, there are some limitations like:• All interactions happen using either Keyboard events or screen coordinates.• Keyboard events handle 1 character at a time (no Strings)• Cannot capture object properties using this class. www.destinationqa.com 10
  11. 11. Using External Programs (AutoIT)AutoIT is a tool that can automate theWindows GUI.AutoIT generates an executable file thatcan be called from the Selenium script.AutoIT Code Example: WinWaitActive("Choose File to Upload") Send("D:test.jpeg") Send("{ENTER}") Download AutoIT at: http://www.autoitscript.com/site/autoit/downloads/ www.destinationqa.com 11
  12. 12. Thank You…Aparna NaikEmail: naik.aparna@destinationqa.comTel: +91 99233 50980 12 www.destinationqa.com

×