SlideShare a Scribd company logo
Data Driven Automation Testing of Web Application
                        using Selenium
      Navaraj Javvaji       -- navaraj.j@avacorp.biz

      Anand Sathiyaseelan   -- anand.s@avacorp.biz


      Umamaheswari Selvan   -- umamaheswari.s@avacorp.biz
AVACORP © 2011                                              1
Lot of options, which one to choose?
                                      Abbot        eggPlant         QTP
                   AutoHotkey                                                 SilkTest


             CubicTest                                                            RFT



           Selenium                                                                  Test Partner


                                                                                   RIATest
                 SWTBot

                                                                                 Dogtail
                       WATIR
                                     Fitness        WatiN           SOATest

       Decision making is the crucial part while choosing the automation tool:

             •    High investment on commercial tools v/s Zero cost Open Source tools

             •    Ease of use v/s customization needs

             •    Better feature set v/s very limited feature set




AVACORP © 2011                                                                                      2
First step should be towards identifying key expectations

   Considerations for an Automation tool:
       What should my Automation tool support?
             Consistent and Diagrammatic Reporting Mechanism:
                  Logger Files
                  Analytic Test Report
                  Different Report Formats ( html, xml etc)
             Ability to support enterprise wise reusable test automation suites
                  Reusable functions, exception handling mechanism etc
             Ability to schedule tests
             Ability to prioritize and run tests
                  Build verification tests, smoke tests, full regression tests, partial regression tests etc
             Ability to report failures
                  Module wise failures, test step failures etc
                  Snapshots / screen shots of failed tests




AVACORP © 2011                                                                                                  3
Let us understand this by considering SELENIUM as an ex


Before going into details, let us look at a quick preview from the technology perspective
      JAVA

              Java is a Object-Oriented programming language.

              Created in 1991 by James Gosling et al. of Sun Microsystems.

              It is a platform independent language.

              It is robust, distributed, portable and Dynamic.

              Automatic Memory Management and Security.

      SELENIUM

              Developed by Jason Huggins and released in 2004.

              It is an open source Tool for automating web Application.

              Selenium IDE is a Record and Playback tool which comes as a Firefox Plug-in .

              Selenium RC is a server /solution for executing linear / regression / integration tests.

              RC obtains the commands from the selenium server and run the tests via the browser.

              It supports IE on Windows, Firefox & Opera on Windows, Mac and Linux, Safari on Windows, Mac


AVACORP © 2011                                                                                                4
Understanding Test Automation Frameworks

Definition

      As defined by Wikipedia ** “Test Automation Framework”

              Is a set of assumptions, concepts and tools that provide support for automated software
               testing

              Helps reduce costs and maintenance time

              Primarily driven by keeping extensive reusability in mind

              Should be flexible enough to incorporate change yet robust enough to resist unwanted
               changes
Commonly Known Automation Frameworks

      Test Script Modularity

      Test Library Architecture

      Data Driven

      Keyword Driven or Table Driven

      Hybrid Test Automation
** http://en.wikipedia.org/wiki/Test_automation_framework

       Model
AVACORP © 2011   Driven                                                                              5
Fundamentals of Data Driven Framework

Data Driven Framework

       Data driven testing is creation of test scripts to run together with their related data sets in the
          framework.

       Data driven scripts are those application-specific scripts captured or manually coded in the
          automation tool’s proprietary language and then modified to accommodate variable data.

       Its main advantage is the reusability and also the maintenance of these tests is easy. This requires
          the preparation of the data sheets which is completely independent of the test automation tool.




 Advantages:
       Large amount of data can be fetched using the data sheet for repeated use of test case execution.
       Reusability and maintenance.
       Only the script representing a “Business Function” needs to be modified/updated in case if the
        functionality of the application under test (AUT) changes.



AVACORP © 2011                                                                                              6
Components of Selenium based Automation Framework




      There might be minor differences between each organization’s framework, however what is listed are the
                                          key components of the framework

AVACORP © 2011                                                                                                 7
Understanding Test Automation Framework components

ANT Script

      A Script that is used to execute a set of instructions using build.xml.

      It is used to run single test or batch test.

Test Scripts

      The test scripts are the .java files which represents the test cases of the AUT.

Reusable Library

      Reusable library consists of the common functions that can be reused.

      Reusable library consist of those functions that are application independent and can be called to
         perform certain tasks.

      Can also be a collection of utilities that

            Delivers capabilities to create detailed drill down reports in different formats

            Helps generate a log of events that happen as part of automation test execution

            Takes snapshot of failed tests

       Careful observation reveals that Reusable Library can be a good source that can help extend Selenium
                                                      capabilities

AVACORP © 2011                                                                                                8
Understanding Test Automation Framework components ..

Test Suite

      Test suite is set up to cover execution of the specified test case name and the priority of the
         execution takes place contiguously.

      The final Test suite is run in two modes using the ANT Script:

              run-single-test

              run-batch-test




                                  customized test suites for regression testing

AVACORP © 2011                                                                                           9
Understanding Test Automation Framework components ..

Test Reports

       The test report is generated by ANT at the end of the test execution in different formats( .xml, HTML
          etc).

       The report also provides a time stamp that helps team manage versions of test reports.

       Finally a consolidated status for the group of test steps that get executed gets presented via the
          “Status”.




AVACORP © 2011                                                                                              10
Understanding Test Automation Framework components ..

Failed Test Screen Snapshot

       Reusable functions are called by the test scripts to take an automatic snap shot of tests that have
          failed.

       Also adding a time stamp to the snapshot it will be easy for test teams to not only identify the exact
          cause of failure but also provide evidence of failure in case it is needed.




        Such features are easy to integrate using JAVA to capture and save a snapshot when a failure occurs

AVACORP © 2011                                                                                                11
Understanding Test Automation Framework components ..

Generate Custom Log Files

       Logger is mainly designed to help the user to view the step by step execution of the test scripts
          along with the time stamp, execution status whether it passed or failed.




            Offer facility to choose between detailed log or events or a crisp summary of the key failures.


AVACORP © 2011                                                                                                12
Do’s and Don’ts


    Do’s

       As part of you automation journey, ensure the team is first trained on java & selenium syntax.

       Before finalizing your framework, understand your needs and then design components that help you
            meet your needs

       Ensure the relation between the application test scripts and the framework is kept to the minimum.
            Thus you can design a reusable and truly scalable framework

       Create the keyword library and keep updating it with more keywords

       Unless it is application specific, most of the test data can be reused

       Use open source tools (like Snapit) to take screen shots

       Use different folders for reusable function, test scripts, logger files, test results and test data sheets

       Identify object elements using Internet Explorer Development Toolbar. This is easier and provides
            reliable object information




AVACORP © 2011                                                                                                   13
Advantages


    Advantages

       The framework is very robust, maintainable and portable

       Redundancy is eliminated by designing for reusability

       Easy to debug considering log files and the failed test scenario snap shot

       Non programmers develop scripts with minimum efforts

       Open source tool results in almost zero cost

       Test Cases/Suites could be executed in 5 different browsers (Firefox, IE, safari, Chrome, Opera)
          and also on different OS platforms(Windows, Linux, Mac) by Selenium RC.

       Selenium RC enables the automation testers to write test cases in 6 different programming
          languages(dot net, java, perl, php, python, ruby).

       Using Selenium RC, it is easy to use Conditional statements, iterations. User exception handling
          mechanism.

       Reporting, Logging the user actions could be added as a feature under the continuous integration
          system.

AVACORP © 2011                                                                                         14
Limitations


   Limitations of Selenium IDE:

       Selenium IDE is released as a plug-in/add-on only for Mozilla Firefox. Hence it is not compatible
          with other web browsers.

       Selenium IDE can execute scripts which were generated in the selenese command formats only.

       Selenium IDE cant be used to execute complex test scenarios involving dynamic objects and
          values.

       Does not support the implementation of condition statements, iterations, exception handling.

       Limitations of Selenium RC:

       If there are some complex request/response on the page, writing custom waitFor method is
          difficult.

       Limited ability to run multiple scripts consistently.

       Though RC has several ways to identify elements on the page, the locator supports only some
          common attributes such as “ID, names, xpath”.

       Similarly if the RC needs to interact with an non natives objects in the web page like calender
           widget
AVACORP © 2011      , multi frames.                                                                    15
Thank You

   USA                          India                      India – Branch Office
   379 Thornall St 12th floor   Guna Complex,              East West Center,
   Edison, New Jersey           7th floor, Main Building   3rd & 4th Floor, #128,
   Zip 08820                    #443 (304),                Nelson Manickam Road,
   +1 732 331 3098            Anna Salai, Teynampet,     Aminjikarai,
                                Chennai-600 018.           Chennai - 600 029.
                                 +91-44-42132992           +91-44-23741122
      Global Headquarters


AVACORP © 2011                                                                      16

More Related Content

What's hot (19)

Selenium Tutorial for Beginners | Automation framework Basics
Selenium Tutorial for Beginners | Automation framework BasicsSelenium Tutorial for Beginners | Automation framework Basics
Selenium Tutorial for Beginners | Automation framework Basics
Techcanvass
 
Software Automation Testing Introduction
Software Automation Testing IntroductionSoftware Automation Testing Introduction
Software Automation Testing Introduction
Narayanan Palani
 
Automation Framework 042009 V2
Automation Framework   042009  V2Automation Framework   042009  V2
Automation Framework 042009 V2
guestb66d91
 
Selenium tutorials
Selenium tutorialsSelenium tutorials
Selenium tutorials
Ducat
 
Selenium Automation Framework
Selenium Automation  FrameworkSelenium Automation  Framework
Selenium Automation Framework
Mindfire Solutions
 
How to Build Your Own Test Automation Framework?
How to Build Your Own Test Automation Framework?How to Build Your Own Test Automation Framework?
How to Build Your Own Test Automation Framework?
Dmitry Buzdin
 
Hybrid automation framework
Hybrid automation frameworkHybrid automation framework
Hybrid automation framework
doai tran
 
WSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
WSO2Con Asia 2014 - Effective Test Automation in an Agile EnvironmentWSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
WSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
WSO2
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework Designs
Sauce Labs
 
Test automation principles, terminologies and implementations
Test automation principles, terminologies and implementationsTest automation principles, terminologies and implementations
Test automation principles, terminologies and implementations
Steven Li
 
Open Source Software Testing Tools
Open Source Software Testing ToolsOpen Source Software Testing Tools
Open Source Software Testing Tools
Varuna Harshana
 
Test automation process
Test automation processTest automation process
Test automation process
Bharathi Krishnamurthi
 
Test Automation Framework Development Introduction
Test Automation Framework Development IntroductionTest Automation Framework Development Introduction
Test Automation Framework Development Introduction
Ganuka Yashantha
 
Designing a Test Automation Framework By Quontra solutions
Designing a Test Automation Framework By Quontra solutionsDesigning a Test Automation Framework By Quontra solutions
Designing a Test Automation Framework By Quontra solutions
QUONTRASOLUTIONS
 
Test Automation Frameworks Using Selenium | Edureka
Test Automation Frameworks Using Selenium | EdurekaTest Automation Frameworks Using Selenium | Edureka
Test Automation Frameworks Using Selenium | Edureka
Edureka!
 
Pragmatic Java Test Automation
Pragmatic Java Test AutomationPragmatic Java Test Automation
Pragmatic Java Test Automation
Dmitry Buzdin
 
Selenium - Introduction
Selenium - IntroductionSelenium - Introduction
Selenium - Introduction
Amr E. Mohamed
 
Hybrid Automation Framework Development introduction
Hybrid Automation Framework Development introductionHybrid Automation Framework Development introduction
Hybrid Automation Framework Development introduction
Ganuka Yashantha
 
Selenium Architecture
Selenium ArchitectureSelenium Architecture
Selenium Architecture
rohitnayak
 
Selenium Tutorial for Beginners | Automation framework Basics
Selenium Tutorial for Beginners | Automation framework BasicsSelenium Tutorial for Beginners | Automation framework Basics
Selenium Tutorial for Beginners | Automation framework Basics
Techcanvass
 
Software Automation Testing Introduction
Software Automation Testing IntroductionSoftware Automation Testing Introduction
Software Automation Testing Introduction
Narayanan Palani
 
Automation Framework 042009 V2
Automation Framework   042009  V2Automation Framework   042009  V2
Automation Framework 042009 V2
guestb66d91
 
Selenium tutorials
Selenium tutorialsSelenium tutorials
Selenium tutorials
Ducat
 
How to Build Your Own Test Automation Framework?
How to Build Your Own Test Automation Framework?How to Build Your Own Test Automation Framework?
How to Build Your Own Test Automation Framework?
Dmitry Buzdin
 
Hybrid automation framework
Hybrid automation frameworkHybrid automation framework
Hybrid automation framework
doai tran
 
WSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
WSO2Con Asia 2014 - Effective Test Automation in an Agile EnvironmentWSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
WSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
WSO2
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework Designs
Sauce Labs
 
Test automation principles, terminologies and implementations
Test automation principles, terminologies and implementationsTest automation principles, terminologies and implementations
Test automation principles, terminologies and implementations
Steven Li
 
Open Source Software Testing Tools
Open Source Software Testing ToolsOpen Source Software Testing Tools
Open Source Software Testing Tools
Varuna Harshana
 
Test Automation Framework Development Introduction
Test Automation Framework Development IntroductionTest Automation Framework Development Introduction
Test Automation Framework Development Introduction
Ganuka Yashantha
 
Designing a Test Automation Framework By Quontra solutions
Designing a Test Automation Framework By Quontra solutionsDesigning a Test Automation Framework By Quontra solutions
Designing a Test Automation Framework By Quontra solutions
QUONTRASOLUTIONS
 
Test Automation Frameworks Using Selenium | Edureka
Test Automation Frameworks Using Selenium | EdurekaTest Automation Frameworks Using Selenium | Edureka
Test Automation Frameworks Using Selenium | Edureka
Edureka!
 
Pragmatic Java Test Automation
Pragmatic Java Test AutomationPragmatic Java Test Automation
Pragmatic Java Test Automation
Dmitry Buzdin
 
Selenium - Introduction
Selenium - IntroductionSelenium - Introduction
Selenium - Introduction
Amr E. Mohamed
 
Hybrid Automation Framework Development introduction
Hybrid Automation Framework Development introductionHybrid Automation Framework Development introduction
Hybrid Automation Framework Development introduction
Ganuka Yashantha
 
Selenium Architecture
Selenium ArchitectureSelenium Architecture
Selenium Architecture
rohitnayak
 

Similar to Data driven automation testing of web applications using selenium (20)

unit-5 SPM.pptx
unit-5 SPM.pptxunit-5 SPM.pptx
unit-5 SPM.pptx
ssuser92282c
 
What is a Test Automation framework.pdf
What is a Test Automation framework.pdfWhat is a Test Automation framework.pdf
What is a Test Automation framework.pdf
AnanthReddy38
 
Introduction to Test Automation
Introduction to Test AutomationIntroduction to Test Automation
Introduction to Test Automation
Pekka Klärck
 
Test automation - Building effective solutions
Test automation - Building effective solutionsTest automation - Building effective solutions
Test automation - Building effective solutions
Artem Nagornyi
 
Engaging IV&V Testing Services for Agile Projects
Engaging IV&V Testing Services for Agile ProjectsEngaging IV&V Testing Services for Agile Projects
Engaging IV&V Testing Services for Agile Projects
Ravi Kumar
 
Automation Testing of Web based Application with Selenium and HP UFT (QTP)
Automation Testing of Web based Application with Selenium and HP UFT (QTP)Automation Testing of Web based Application with Selenium and HP UFT (QTP)
Automation Testing of Web based Application with Selenium and HP UFT (QTP)
IRJET Journal
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1
tactqa
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1
tactqa
 
Pros and Cons of key test automation frameworks.pdf
Pros and Cons of key test automation frameworks.pdfPros and Cons of key test automation frameworks.pdf
Pros and Cons of key test automation frameworks.pdf
kalichargn70th171
 
[DevDay 2017] Automation Testing - Speaker: Nghia Khuong - Project Manager at...
[DevDay 2017] Automation Testing - Speaker: Nghia Khuong - Project Manager at...[DevDay 2017] Automation Testing - Speaker: Nghia Khuong - Project Manager at...
[DevDay 2017] Automation Testing - Speaker: Nghia Khuong - Project Manager at...
DevDay Da Nang
 
Selenium Framework for Testing Web Application - Mindtree
Selenium Framework for Testing Web Application - MindtreeSelenium Framework for Testing Web Application - Mindtree
Selenium Framework for Testing Web Application - Mindtree
samirandev1
 
Best Selenium Framework for Testing Web Application - A Mindtree Article
Best Selenium Framework for Testing Web Application - A Mindtree ArticleBest Selenium Framework for Testing Web Application - A Mindtree Article
Best Selenium Framework for Testing Web Application - A Mindtree Article
devraajsingh
 
Choosing right-automation-tool
Choosing right-automation-toolChoosing right-automation-tool
Choosing right-automation-tool
BabuDevanandam
 
Automated testing web application
Automated testing web applicationAutomated testing web application
Automated testing web application
Kiattikhun Prathumma
 
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-54&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
hemasubbu08
 
Selenium Automation Framework (SAF).
Selenium Automation Framework (SAF).Selenium Automation Framework (SAF).
Selenium Automation Framework (SAF).
Mindtree Ltd.
 
Test automation in agile ecosystem
Test automation in agile ecosystemTest automation in agile ecosystem
Test automation in agile ecosystem
JohnRizer
 
Automated testing
Automated testingAutomated testing
Automated testing
s0194975
 
Selenium ~ Uncommon but practical use cases
Selenium ~ Uncommon but practical use cases Selenium ~ Uncommon but practical use cases
Selenium ~ Uncommon but practical use cases
Bipin VK
 
Planning & building scalable test infrastructure
Planning  & building scalable test infrastructurePlanning  & building scalable test infrastructure
Planning & building scalable test infrastructure
Vijayan Reddy
 
What is a Test Automation framework.pdf
What is a Test Automation framework.pdfWhat is a Test Automation framework.pdf
What is a Test Automation framework.pdf
AnanthReddy38
 
Introduction to Test Automation
Introduction to Test AutomationIntroduction to Test Automation
Introduction to Test Automation
Pekka Klärck
 
Test automation - Building effective solutions
Test automation - Building effective solutionsTest automation - Building effective solutions
Test automation - Building effective solutions
Artem Nagornyi
 
Engaging IV&V Testing Services for Agile Projects
Engaging IV&V Testing Services for Agile ProjectsEngaging IV&V Testing Services for Agile Projects
Engaging IV&V Testing Services for Agile Projects
Ravi Kumar
 
Automation Testing of Web based Application with Selenium and HP UFT (QTP)
Automation Testing of Web based Application with Selenium and HP UFT (QTP)Automation Testing of Web based Application with Selenium and HP UFT (QTP)
Automation Testing of Web based Application with Selenium and HP UFT (QTP)
IRJET Journal
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1
tactqa
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1
tactqa
 
Pros and Cons of key test automation frameworks.pdf
Pros and Cons of key test automation frameworks.pdfPros and Cons of key test automation frameworks.pdf
Pros and Cons of key test automation frameworks.pdf
kalichargn70th171
 
[DevDay 2017] Automation Testing - Speaker: Nghia Khuong - Project Manager at...
[DevDay 2017] Automation Testing - Speaker: Nghia Khuong - Project Manager at...[DevDay 2017] Automation Testing - Speaker: Nghia Khuong - Project Manager at...
[DevDay 2017] Automation Testing - Speaker: Nghia Khuong - Project Manager at...
DevDay Da Nang
 
Selenium Framework for Testing Web Application - Mindtree
Selenium Framework for Testing Web Application - MindtreeSelenium Framework for Testing Web Application - Mindtree
Selenium Framework for Testing Web Application - Mindtree
samirandev1
 
Best Selenium Framework for Testing Web Application - A Mindtree Article
Best Selenium Framework for Testing Web Application - A Mindtree ArticleBest Selenium Framework for Testing Web Application - A Mindtree Article
Best Selenium Framework for Testing Web Application - A Mindtree Article
devraajsingh
 
Choosing right-automation-tool
Choosing right-automation-toolChoosing right-automation-tool
Choosing right-automation-tool
BabuDevanandam
 
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-54&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
hemasubbu08
 
Selenium Automation Framework (SAF).
Selenium Automation Framework (SAF).Selenium Automation Framework (SAF).
Selenium Automation Framework (SAF).
Mindtree Ltd.
 
Test automation in agile ecosystem
Test automation in agile ecosystemTest automation in agile ecosystem
Test automation in agile ecosystem
JohnRizer
 
Automated testing
Automated testingAutomated testing
Automated testing
s0194975
 
Selenium ~ Uncommon but practical use cases
Selenium ~ Uncommon but practical use cases Selenium ~ Uncommon but practical use cases
Selenium ~ Uncommon but practical use cases
Bipin VK
 
Planning & building scalable test infrastructure
Planning  & building scalable test infrastructurePlanning  & building scalable test infrastructure
Planning & building scalable test infrastructure
Vijayan Reddy
 
Ad

Recently uploaded (20)

Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Viral>Wondershare Filmora 14.5.18.12900 Crack Free DownloadViral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Puppy jhon
 
Murdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementaryMurdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementary
JorgeSemperteguiMont
 
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdfcnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
AmirStern2
 
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Safe Software
 
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
Safe Software
 
Enabling BIM / GIS integrations with Other Systems with FME
Enabling BIM / GIS integrations with Other Systems with FMEEnabling BIM / GIS integrations with Other Systems with FME
Enabling BIM / GIS integrations with Other Systems with FME
Safe Software
 
Azure vs AWS Which Cloud Platform Is Best for Your Business in 2025
Azure vs AWS  Which Cloud Platform Is Best for Your Business in 2025Azure vs AWS  Which Cloud Platform Is Best for Your Business in 2025
Azure vs AWS Which Cloud Platform Is Best for Your Business in 2025
Infrassist Technologies Pvt. Ltd.
 
Your startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean accountYour startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean account
angelo60207
 
Ben Blair - Operating Safely in a Vibe Coding World
Ben Blair - Operating Safely in a Vibe Coding WorldBen Blair - Operating Safely in a Vibe Coding World
Ben Blair - Operating Safely in a Vibe Coding World
AWS Chicago
 
Down the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training RoadblocksDown the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training Roadblocks
Rustici Software
 
If You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FMEIf You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FME
Safe Software
 
Domino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
Domino IQ – Was Sie erwartet, erste Schritte und AnwendungsfälleDomino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
Domino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
panagenda
 
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
NTT DATA Technology & Innovation
 
Secure Access with Azure Active Directory
Secure Access with Azure Active DirectorySecure Access with Azure Active Directory
Secure Access with Azure Active Directory
VICTOR MAESTRE RAMIREZ
 
Kubernetes Security Act Now Before It’s Too Late
Kubernetes Security Act Now Before It’s Too LateKubernetes Security Act Now Before It’s Too Late
Kubernetes Security Act Now Before It’s Too Late
Michael Furman
 
TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025
Suyash Joshi
 
Introduction to Internet of things .ppt.
Introduction to Internet of things .ppt.Introduction to Internet of things .ppt.
Introduction to Internet of things .ppt.
hok12341073
 
The State of Web3 Industry- Industry Report
The State of Web3 Industry- Industry ReportThe State of Web3 Industry- Industry Report
The State of Web3 Industry- Industry Report
Liveplex
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Shashikant Jagtap
 
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Viral>Wondershare Filmora 14.5.18.12900 Crack Free DownloadViral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Puppy jhon
 
Murdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementaryMurdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementary
JorgeSemperteguiMont
 
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdfcnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
AmirStern2
 
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Safe Software
 
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
Safe Software
 
Enabling BIM / GIS integrations with Other Systems with FME
Enabling BIM / GIS integrations with Other Systems with FMEEnabling BIM / GIS integrations with Other Systems with FME
Enabling BIM / GIS integrations with Other Systems with FME
Safe Software
 
Azure vs AWS Which Cloud Platform Is Best for Your Business in 2025
Azure vs AWS  Which Cloud Platform Is Best for Your Business in 2025Azure vs AWS  Which Cloud Platform Is Best for Your Business in 2025
Azure vs AWS Which Cloud Platform Is Best for Your Business in 2025
Infrassist Technologies Pvt. Ltd.
 
Your startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean accountYour startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean account
angelo60207
 
Ben Blair - Operating Safely in a Vibe Coding World
Ben Blair - Operating Safely in a Vibe Coding WorldBen Blair - Operating Safely in a Vibe Coding World
Ben Blair - Operating Safely in a Vibe Coding World
AWS Chicago
 
Down the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training RoadblocksDown the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training Roadblocks
Rustici Software
 
If You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FMEIf You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FME
Safe Software
 
Domino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
Domino IQ – Was Sie erwartet, erste Schritte und AnwendungsfälleDomino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
Domino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
panagenda
 
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
NTT DATA Technology & Innovation
 
Secure Access with Azure Active Directory
Secure Access with Azure Active DirectorySecure Access with Azure Active Directory
Secure Access with Azure Active Directory
VICTOR MAESTRE RAMIREZ
 
Kubernetes Security Act Now Before It’s Too Late
Kubernetes Security Act Now Before It’s Too LateKubernetes Security Act Now Before It’s Too Late
Kubernetes Security Act Now Before It’s Too Late
Michael Furman
 
TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025
Suyash Joshi
 
Introduction to Internet of things .ppt.
Introduction to Internet of things .ppt.Introduction to Internet of things .ppt.
Introduction to Internet of things .ppt.
hok12341073
 
The State of Web3 Industry- Industry Report
The State of Web3 Industry- Industry ReportThe State of Web3 Industry- Industry Report
The State of Web3 Industry- Industry Report
Liveplex
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Shashikant Jagtap
 
Ad

Data driven automation testing of web applications using selenium

  • 1. Data Driven Automation Testing of Web Application using Selenium Navaraj Javvaji -- [email protected] Anand Sathiyaseelan -- [email protected] Umamaheswari Selvan -- [email protected] AVACORP © 2011 1
  • 2. Lot of options, which one to choose? Abbot eggPlant QTP AutoHotkey SilkTest CubicTest RFT Selenium Test Partner RIATest SWTBot Dogtail WATIR Fitness WatiN SOATest Decision making is the crucial part while choosing the automation tool: • High investment on commercial tools v/s Zero cost Open Source tools • Ease of use v/s customization needs • Better feature set v/s very limited feature set AVACORP © 2011 2
  • 3. First step should be towards identifying key expectations  Considerations for an Automation tool:  What should my Automation tool support?  Consistent and Diagrammatic Reporting Mechanism:  Logger Files  Analytic Test Report  Different Report Formats ( html, xml etc)  Ability to support enterprise wise reusable test automation suites  Reusable functions, exception handling mechanism etc  Ability to schedule tests  Ability to prioritize and run tests  Build verification tests, smoke tests, full regression tests, partial regression tests etc  Ability to report failures  Module wise failures, test step failures etc  Snapshots / screen shots of failed tests AVACORP © 2011 3
  • 4. Let us understand this by considering SELENIUM as an ex Before going into details, let us look at a quick preview from the technology perspective JAVA  Java is a Object-Oriented programming language.  Created in 1991 by James Gosling et al. of Sun Microsystems.  It is a platform independent language.  It is robust, distributed, portable and Dynamic.  Automatic Memory Management and Security. SELENIUM  Developed by Jason Huggins and released in 2004.  It is an open source Tool for automating web Application.  Selenium IDE is a Record and Playback tool which comes as a Firefox Plug-in .  Selenium RC is a server /solution for executing linear / regression / integration tests.  RC obtains the commands from the selenium server and run the tests via the browser.  It supports IE on Windows, Firefox & Opera on Windows, Mac and Linux, Safari on Windows, Mac AVACORP © 2011 4
  • 5. Understanding Test Automation Frameworks Definition  As defined by Wikipedia ** “Test Automation Framework”  Is a set of assumptions, concepts and tools that provide support for automated software testing  Helps reduce costs and maintenance time  Primarily driven by keeping extensive reusability in mind  Should be flexible enough to incorporate change yet robust enough to resist unwanted changes Commonly Known Automation Frameworks  Test Script Modularity  Test Library Architecture  Data Driven  Keyword Driven or Table Driven  Hybrid Test Automation ** http://en.wikipedia.org/wiki/Test_automation_framework  Model AVACORP © 2011 Driven 5
  • 6. Fundamentals of Data Driven Framework Data Driven Framework  Data driven testing is creation of test scripts to run together with their related data sets in the framework.  Data driven scripts are those application-specific scripts captured or manually coded in the automation tool’s proprietary language and then modified to accommodate variable data.  Its main advantage is the reusability and also the maintenance of these tests is easy. This requires the preparation of the data sheets which is completely independent of the test automation tool. Advantages:  Large amount of data can be fetched using the data sheet for repeated use of test case execution.  Reusability and maintenance.  Only the script representing a “Business Function” needs to be modified/updated in case if the functionality of the application under test (AUT) changes. AVACORP © 2011 6
  • 7. Components of Selenium based Automation Framework There might be minor differences between each organization’s framework, however what is listed are the key components of the framework AVACORP © 2011 7
  • 8. Understanding Test Automation Framework components ANT Script  A Script that is used to execute a set of instructions using build.xml.  It is used to run single test or batch test. Test Scripts  The test scripts are the .java files which represents the test cases of the AUT. Reusable Library  Reusable library consists of the common functions that can be reused.  Reusable library consist of those functions that are application independent and can be called to perform certain tasks.  Can also be a collection of utilities that  Delivers capabilities to create detailed drill down reports in different formats  Helps generate a log of events that happen as part of automation test execution  Takes snapshot of failed tests Careful observation reveals that Reusable Library can be a good source that can help extend Selenium capabilities AVACORP © 2011 8
  • 9. Understanding Test Automation Framework components .. Test Suite  Test suite is set up to cover execution of the specified test case name and the priority of the execution takes place contiguously.  The final Test suite is run in two modes using the ANT Script:  run-single-test  run-batch-test customized test suites for regression testing AVACORP © 2011 9
  • 10. Understanding Test Automation Framework components .. Test Reports  The test report is generated by ANT at the end of the test execution in different formats( .xml, HTML etc).  The report also provides a time stamp that helps team manage versions of test reports.  Finally a consolidated status for the group of test steps that get executed gets presented via the “Status”. AVACORP © 2011 10
  • 11. Understanding Test Automation Framework components .. Failed Test Screen Snapshot  Reusable functions are called by the test scripts to take an automatic snap shot of tests that have failed.  Also adding a time stamp to the snapshot it will be easy for test teams to not only identify the exact cause of failure but also provide evidence of failure in case it is needed. Such features are easy to integrate using JAVA to capture and save a snapshot when a failure occurs AVACORP © 2011 11
  • 12. Understanding Test Automation Framework components .. Generate Custom Log Files  Logger is mainly designed to help the user to view the step by step execution of the test scripts along with the time stamp, execution status whether it passed or failed. Offer facility to choose between detailed log or events or a crisp summary of the key failures. AVACORP © 2011 12
  • 13. Do’s and Don’ts  Do’s  As part of you automation journey, ensure the team is first trained on java & selenium syntax.  Before finalizing your framework, understand your needs and then design components that help you meet your needs  Ensure the relation between the application test scripts and the framework is kept to the minimum. Thus you can design a reusable and truly scalable framework  Create the keyword library and keep updating it with more keywords  Unless it is application specific, most of the test data can be reused  Use open source tools (like Snapit) to take screen shots  Use different folders for reusable function, test scripts, logger files, test results and test data sheets  Identify object elements using Internet Explorer Development Toolbar. This is easier and provides reliable object information AVACORP © 2011 13
  • 14. Advantages  Advantages  The framework is very robust, maintainable and portable  Redundancy is eliminated by designing for reusability  Easy to debug considering log files and the failed test scenario snap shot  Non programmers develop scripts with minimum efforts  Open source tool results in almost zero cost  Test Cases/Suites could be executed in 5 different browsers (Firefox, IE, safari, Chrome, Opera) and also on different OS platforms(Windows, Linux, Mac) by Selenium RC.  Selenium RC enables the automation testers to write test cases in 6 different programming languages(dot net, java, perl, php, python, ruby).  Using Selenium RC, it is easy to use Conditional statements, iterations. User exception handling mechanism.  Reporting, Logging the user actions could be added as a feature under the continuous integration system. AVACORP © 2011 14
  • 15. Limitations  Limitations of Selenium IDE:  Selenium IDE is released as a plug-in/add-on only for Mozilla Firefox. Hence it is not compatible with other web browsers.  Selenium IDE can execute scripts which were generated in the selenese command formats only.  Selenium IDE cant be used to execute complex test scenarios involving dynamic objects and values.  Does not support the implementation of condition statements, iterations, exception handling.  Limitations of Selenium RC:  If there are some complex request/response on the page, writing custom waitFor method is difficult.  Limited ability to run multiple scripts consistently.  Though RC has several ways to identify elements on the page, the locator supports only some common attributes such as “ID, names, xpath”.  Similarly if the RC needs to interact with an non natives objects in the web page like calender widget AVACORP © 2011 , multi frames. 15
  • 16. Thank You USA India India – Branch Office 379 Thornall St 12th floor Guna Complex, East West Center, Edison, New Jersey 7th floor, Main Building 3rd & 4th Floor, #128, Zip 08820 #443 (304), Nelson Manickam Road, +1 732 331 3098 Anna Salai, Teynampet, Aminjikarai, Chennai-600 018. Chennai - 600 029.  +91-44-42132992  +91-44-23741122 Global Headquarters AVACORP © 2011 16

Editor's Notes

  • #2: 01/31/10 AVACorp
  • #3: * RFT -> Rational functional tester 01/31/10 AVACorp
  • #17: 01/31/10 AVACorp AVACorp