SlideShare a Scribd company logo
1 of 12
PopUp handling in Selenium 2.x

                By
           Aparna Naik
       www.DestinationQA.com




                                    1
            www.destinationqa.com
Agenda
Different types of PopUps

Handling JavaScript PopUps

Webdriver Alerts API

Java AWT Robot class to handle windows popups

Other ways to handle Popups



                                                2
                 www.destinationqa.com
PopUps
Usually, 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 operating
system’s native interface. Hence once they are opened, the browser has
                          little control over them.



                                                                            3
                          www.destinationqa.com
Handling JavaScript PopUps

Selenium provides an API to handle
JavaScript PopUps.
  Alert alert = driver.switchTo().alert();



The Alert API allows various operations
on the Alert object:
  accept(), dismiss(), getText(),sendKeys()




                                              4
                 www.destinationqa.com
Handling Browser and Native OS
PopUps

As Selenium does not provide support to
these kind of Popups, we need to
explore other options. There are several
ways to handle such popups like:
• Setup Browser Profiles
• Use Java.awt.Robot toolkit
• Use external program like AutoIT

                                           5
              www.destinationqa.com
Setup Browser Defaults
A useful way to handle popups is to set the
Browser Defaults to disable popups wherever
possible. This can usually be done for popups
which ask whether a File should be
downloaded.




                                                6
                  www.destinationqa.com
Handling File Download windows
When a file is to be downloaded, browser will
ask you where the file is to be saved.
Usually, this option can also be set to a default
location to avoid this popup.




                                                    7
                   www.destinationqa.com
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
The Java AWT Robot Class

This class can generate native input events to the underlying
OS using the Keyboard and Mouse Interfaces

Methods in this class can be effectively used to do the minimal
interaction with native popups occurring in Web Applications.

Some of the useful API provided are:

 • keyPress();
 • mousePress();
 • Mousemove();

                                                                  9
                       www.destinationqa.com
The Java AWT Robot Class Contd..

Although the Robot Class can be used to interact
with 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
Using External Programs (AutoIT)

AutoIT is a tool that can automate the
Windows GUI.
AutoIT generates an executable file that
can 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
Thank You…
Aparna Naik
Email: naik.aparna@destinationqa.com
Tel: +91 99233 50980




                                               12
                       www.destinationqa.com

More Related Content

What's hot

Session 01 - Introduction to Selenium - Part 2
Session 01 - Introduction to Selenium - Part 2Session 01 - Introduction to Selenium - Part 2
Session 01 - Introduction to Selenium - Part 2SiddharthSelenium
 
1 java fundamental KSHRD
1   java fundamental KSHRD1   java fundamental KSHRD
1 java fundamental KSHRDTola Meng
 
Selenium - Introduction
Selenium - IntroductionSelenium - Introduction
Selenium - IntroductionSachin-QA
 
Selenoid: browsers in containers
Selenoid: browsers in containersSelenoid: browsers in containers
Selenoid: browsers in containersIvan Krutov
 
Selenium By Pravin Mishra
Selenium By Pravin MishraSelenium By Pravin Mishra
Selenium By Pravin MishraPravin Mishra
 
Scalable Selenium cluster: up and running
Scalable Selenium cluster: up and runningScalable Selenium cluster: up and running
Scalable Selenium cluster: up and runningIvan Krutov
 
Selenium RC
Selenium  RCSelenium  RC
Selenium RCANKUR-BA
 
Using protractor to build automated ui tests
Using protractor to build automated ui testsUsing protractor to build automated ui tests
Using protractor to build automated ui tests🌱 Dale Spoonemore
 
Mobile automation: a three act tragedy
Mobile automation: a three act tragedyMobile automation: a three act tragedy
Mobile automation: a three act tragedyIvan Krutov
 
Enyo Hackathon Presentation
Enyo Hackathon PresentationEnyo Hackathon Presentation
Enyo Hackathon PresentationBen Combee
 
Vagrant development environment
Vagrant   development environmentVagrant   development environment
Vagrant development environmentHiraq Citra M
 
How to Handle Multiple Windows in Selenium Webdriver | Edureka
How to Handle Multiple Windows in Selenium Webdriver | EdurekaHow to Handle Multiple Windows in Selenium Webdriver | Edureka
How to Handle Multiple Windows in Selenium Webdriver | EdurekaEdureka!
 
BeEF: The Browser Exploitation Framework
BeEF: The Browser Exploitation FrameworkBeEF: The Browser Exploitation Framework
BeEF: The Browser Exploitation Frameworkawiasecretary
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools OverviewSachin-QA
 
Appium Meetup #2 - Mobile Web Automation Introduction
Appium Meetup #2 - Mobile Web Automation IntroductionAppium Meetup #2 - Mobile Web Automation Introduction
Appium Meetup #2 - Mobile Web Automation Introductionsnevesbarros
 

What's hot (20)

VorlonJS
VorlonJSVorlonJS
VorlonJS
 
Selenium introduction
Selenium introductionSelenium introduction
Selenium introduction
 
Session 01 - Introduction to Selenium - Part 2
Session 01 - Introduction to Selenium - Part 2Session 01 - Introduction to Selenium - Part 2
Session 01 - Introduction to Selenium - Part 2
 
Selenium presentation
Selenium presentationSelenium presentation
Selenium presentation
 
1 java fundamental KSHRD
1   java fundamental KSHRD1   java fundamental KSHRD
1 java fundamental KSHRD
 
Selenium - Introduction
Selenium - IntroductionSelenium - Introduction
Selenium - Introduction
 
BeEF
BeEFBeEF
BeEF
 
Selenoid: browsers in containers
Selenoid: browsers in containersSelenoid: browsers in containers
Selenoid: browsers in containers
 
Selenium By Pravin Mishra
Selenium By Pravin MishraSelenium By Pravin Mishra
Selenium By Pravin Mishra
 
Scalable Selenium cluster: up and running
Scalable Selenium cluster: up and runningScalable Selenium cluster: up and running
Scalable Selenium cluster: up and running
 
Selenium RC
Selenium  RCSelenium  RC
Selenium RC
 
Selenium
SeleniumSelenium
Selenium
 
Using protractor to build automated ui tests
Using protractor to build automated ui testsUsing protractor to build automated ui tests
Using protractor to build automated ui tests
 
Mobile automation: a three act tragedy
Mobile automation: a three act tragedyMobile automation: a three act tragedy
Mobile automation: a three act tragedy
 
Enyo Hackathon Presentation
Enyo Hackathon PresentationEnyo Hackathon Presentation
Enyo Hackathon Presentation
 
Vagrant development environment
Vagrant   development environmentVagrant   development environment
Vagrant development environment
 
How to Handle Multiple Windows in Selenium Webdriver | Edureka
How to Handle Multiple Windows in Selenium Webdriver | EdurekaHow to Handle Multiple Windows in Selenium Webdriver | Edureka
How to Handle Multiple Windows in Selenium Webdriver | Edureka
 
BeEF: The Browser Exploitation Framework
BeEF: The Browser Exploitation FrameworkBeEF: The Browser Exploitation Framework
BeEF: The Browser Exploitation Framework
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools Overview
 
Appium Meetup #2 - Mobile Web Automation Introduction
Appium Meetup #2 - Mobile Web Automation IntroductionAppium Meetup #2 - Mobile Web Automation Introduction
Appium Meetup #2 - Mobile Web Automation Introduction
 

Similar to Selenium Webdriver pop up handling

JAVA INTRODUCTION
JAVA INTRODUCTIONJAVA INTRODUCTION
JAVA INTRODUCTIONProf Ansari
 
JAVA INTRODUCTION
JAVA INTRODUCTIONJAVA INTRODUCTION
JAVA INTRODUCTIONProf Ansari
 
Top 15 Selenium WebDriver Interview Questions and Answers.pdf
Top 15 Selenium WebDriver Interview Questions and Answers.pdfTop 15 Selenium WebDriver Interview Questions and Answers.pdf
Top 15 Selenium WebDriver Interview Questions and Answers.pdfAnanthReddy38
 
Steps to write Selenium
Steps to write Selenium  Steps to write Selenium
Steps to write Selenium Rohit Thakur
 
Top 15 Selenium WebDriver Interview Questions and Answers.pptx
Top 15 Selenium WebDriver Interview Questions and Answers.pptxTop 15 Selenium WebDriver Interview Questions and Answers.pptx
Top 15 Selenium WebDriver Interview Questions and Answers.pptxAnanthReddy38
 
Class notes(week 10) on applet programming
Class notes(week 10) on applet programmingClass notes(week 10) on applet programming
Class notes(week 10) on applet programmingKuntal Bhowmick
 
تست وب اپ ها با سلنیوم - علیرضا عظیم زاده میلانی
تست وب اپ ها با سلنیوم - علیرضا عظیم زاده میلانیتست وب اپ ها با سلنیوم - علیرضا عظیم زاده میلانی
تست وب اپ ها با سلنیوم - علیرضا عظیم زاده میلانیirpycon
 
Web Test Automation Framework - IndicThreads Conference
Web Test Automation Framework  - IndicThreads ConferenceWeb Test Automation Framework  - IndicThreads Conference
Web Test Automation Framework - IndicThreads ConferenceIndicThreads
 
Stepin evening presented
Stepin evening presentedStepin evening presented
Stepin evening presentedVijayan Reddy
 
Selenium for Tester.pdf
Selenium for Tester.pdfSelenium for Tester.pdf
Selenium for Tester.pdfRTechRInfoIT
 
Selenium Tutorial
Selenium TutorialSelenium Tutorial
Selenium Tutorialprad_123
 
Selenium WebDriver
Selenium WebDriverSelenium WebDriver
Selenium WebDriverRajathi-QA
 
Class notes(week 10) on applet programming
Class notes(week 10) on applet programmingClass notes(week 10) on applet programming
Class notes(week 10) on applet programmingKuntal Bhowmick
 
webOS App by Example: Sorting Thoughts
webOS App by Example: Sorting ThoughtswebOS App by Example: Sorting Thoughts
webOS App by Example: Sorting ThoughtsHendrik Ebel
 
Web application penetration testing lab setup guide
Web application penetration testing lab setup guideWeb application penetration testing lab setup guide
Web application penetration testing lab setup guideSudhanshu Chauhan
 
Android & iOS Automation Using Appium
Android & iOS Automation Using AppiumAndroid & iOS Automation Using Appium
Android & iOS Automation Using AppiumMindfire Solutions
 

Similar to Selenium Webdriver pop up handling (20)

JAVA INTRODUCTION
JAVA INTRODUCTIONJAVA INTRODUCTION
JAVA INTRODUCTION
 
JAVA INTRODUCTION
JAVA INTRODUCTIONJAVA INTRODUCTION
JAVA INTRODUCTION
 
Top 15 Selenium WebDriver Interview Questions and Answers.pdf
Top 15 Selenium WebDriver Interview Questions and Answers.pdfTop 15 Selenium WebDriver Interview Questions and Answers.pdf
Top 15 Selenium WebDriver Interview Questions and Answers.pdf
 
Selenium
SeleniumSelenium
Selenium
 
Steps to write Selenium
Steps to write Selenium  Steps to write Selenium
Steps to write Selenium
 
Top 15 Selenium WebDriver Interview Questions and Answers.pptx
Top 15 Selenium WebDriver Interview Questions and Answers.pptxTop 15 Selenium WebDriver Interview Questions and Answers.pptx
Top 15 Selenium WebDriver Interview Questions and Answers.pptx
 
Class notes(week 10) on applet programming
Class notes(week 10) on applet programmingClass notes(week 10) on applet programming
Class notes(week 10) on applet programming
 
تست وب اپ ها با سلنیوم - علیرضا عظیم زاده میلانی
تست وب اپ ها با سلنیوم - علیرضا عظیم زاده میلانیتست وب اپ ها با سلنیوم - علیرضا عظیم زاده میلانی
تست وب اپ ها با سلنیوم - علیرضا عظیم زاده میلانی
 
Web Test Automation Framework - IndicThreads Conference
Web Test Automation Framework  - IndicThreads ConferenceWeb Test Automation Framework  - IndicThreads Conference
Web Test Automation Framework - IndicThreads Conference
 
Selenium&scrapy
Selenium&scrapySelenium&scrapy
Selenium&scrapy
 
Stepin evening presented
Stepin evening presentedStepin evening presented
Stepin evening presented
 
Selenium using C# by Yogesh Kumar
Selenium using C# by  Yogesh KumarSelenium using C# by  Yogesh Kumar
Selenium using C# by Yogesh Kumar
 
Selenium for Tester.pdf
Selenium for Tester.pdfSelenium for Tester.pdf
Selenium for Tester.pdf
 
Selenium Tutorial
Selenium TutorialSelenium Tutorial
Selenium Tutorial
 
Selenium WebDriver
Selenium WebDriverSelenium WebDriver
Selenium WebDriver
 
Class notes(week 10) on applet programming
Class notes(week 10) on applet programmingClass notes(week 10) on applet programming
Class notes(week 10) on applet programming
 
Test automation using selenium
Test automation using seleniumTest automation using selenium
Test automation using selenium
 
webOS App by Example: Sorting Thoughts
webOS App by Example: Sorting ThoughtswebOS App by Example: Sorting Thoughts
webOS App by Example: Sorting Thoughts
 
Web application penetration testing lab setup guide
Web application penetration testing lab setup guideWeb application penetration testing lab setup guide
Web application penetration testing lab setup guide
 
Android & iOS Automation Using Appium
Android & iOS Automation Using AppiumAndroid & iOS Automation Using Appium
Android & iOS Automation Using Appium
 

Recently uploaded

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 

Recently uploaded (20)

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 

Selenium Webdriver pop up handling

  • 1. PopUp handling in Selenium 2.x By Aparna Naik www.DestinationQA.com 1 www.destinationqa.com
  • 2. Agenda Different types of PopUps Handling JavaScript PopUps Webdriver Alerts API Java AWT Robot class to handle windows popups Other ways to handle Popups 2 www.destinationqa.com
  • 3. PopUps Usually, 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 operating system’s native interface. Hence once they are opened, the browser has little control over them. 3 www.destinationqa.com
  • 4. Handling JavaScript PopUps Selenium provides an API to handle JavaScript PopUps. Alert alert = driver.switchTo().alert(); The Alert API allows various operations on the Alert object: accept(), dismiss(), getText(),sendKeys() 4 www.destinationqa.com
  • 5. Handling Browser and Native OS PopUps As Selenium does not provide support to these kind of Popups, we need to explore other options. There are several ways to handle such popups like: • Setup Browser Profiles • Use Java.awt.Robot toolkit • Use external program like AutoIT 5 www.destinationqa.com
  • 6. Setup Browser Defaults A useful way to handle popups is to set the Browser Defaults to disable popups wherever possible. This can usually be done for popups which ask whether a File should be downloaded. 6 www.destinationqa.com
  • 7. Handling File Download windows When a file is to be downloaded, browser will ask you where the file is to be saved. Usually, this option can also be set to a default location to avoid this popup. 7 www.destinationqa.com
  • 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. The Java AWT Robot Class This class can generate native input events to the underlying OS using the Keyboard and Mouse Interfaces Methods in this class can be effectively used to do the minimal interaction with native popups occurring in Web Applications. Some of the useful API provided are: • keyPress(); • mousePress(); • Mousemove(); 9 www.destinationqa.com
  • 10. The Java AWT Robot Class Contd.. Although the Robot Class can be used to interact with 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. Using External Programs (AutoIT) AutoIT is a tool that can automate the Windows GUI. AutoIT generates an executable file that can 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. Thank You… Aparna Naik Email: naik.aparna@destinationqa.com Tel: +91 99233 50980 12 www.destinationqa.com