Selenium Webdriver pop up handling


Published on

Selenium Webdriver

Published in: Technology, Education
No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Selenium Webdriver pop up handling

  1. 1. PopUp handling in Selenium 2.x By Aparna Naik 1
  2. 2. AgendaDifferent types of PopUpsHandling JavaScript PopUpsWebdriver Alerts APIJava AWT Robot class to handle windows popupsOther ways to handle Popups 2
  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
  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
  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
  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
  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
  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
  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
  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. 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: 11
  12. 12. Thank You…Aparna NaikEmail: naik.aparna@destinationqa.comTel: +91 99233 50980 12