SlideShare a Scribd company logo
1 of 16
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

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 BasicsTechcanvass
 
Software Automation Testing Introduction
Software Automation Testing IntroductionSoftware Automation Testing Introduction
Software Automation Testing IntroductionNarayanan Palani
 
Automation Framework 042009 V2
Automation Framework   042009  V2Automation Framework   042009  V2
Automation Framework 042009 V2guestb66d91
 
Selenium tutorials
Selenium tutorialsSelenium tutorials
Selenium tutorialsDucat
 
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 frameworkdoai 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 EnvironmentWSO2
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework DesignsSauce Labs
 
Test automation principles, terminologies and implementations
Test automation principles, terminologies and implementationsTest automation principles, terminologies and implementations
Test automation principles, terminologies and implementationsSteven Li
 
Open Source Software Testing Tools
Open Source Software Testing ToolsOpen Source Software Testing Tools
Open Source Software Testing ToolsVaruna Harshana
 
Test Automation Framework Development Introduction
Test Automation Framework Development IntroductionTest Automation Framework Development Introduction
Test Automation Framework Development IntroductionGanuka 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 solutionsQUONTRASOLUTIONS
 
Test Automation Frameworks Using Selenium | Edureka
Test Automation Frameworks Using Selenium | EdurekaTest Automation Frameworks Using Selenium | Edureka
Test Automation Frameworks Using Selenium | EdurekaEdureka!
 
Pragmatic Java Test Automation
Pragmatic Java Test AutomationPragmatic Java Test Automation
Pragmatic Java Test AutomationDmitry Buzdin
 
Selenium - Introduction
Selenium - IntroductionSelenium - Introduction
Selenium - IntroductionAmr E. Mohamed
 
Hybrid Automation Framework Development introduction
Hybrid Automation Framework Development introductionHybrid Automation Framework Development introduction
Hybrid Automation Framework Development introductionGanuka Yashantha
 
Selenium Architecture
Selenium ArchitectureSelenium Architecture
Selenium Architecturerohitnayak
 

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
 
Software Automation Testing Introduction
Software Automation Testing IntroductionSoftware Automation Testing Introduction
Software Automation Testing Introduction
 
Automation Framework 042009 V2
Automation Framework   042009  V2Automation Framework   042009  V2
Automation Framework 042009 V2
 
Selenium tutorials
Selenium tutorialsSelenium tutorials
Selenium tutorials
 
Selenium Automation Framework
Selenium Automation  FrameworkSelenium Automation  Framework
Selenium 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?
How to Build Your Own Test Automation Framework?
 
Hybrid automation framework
Hybrid automation frameworkHybrid automation framework
Hybrid automation framework
 
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
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework Designs
 
Test automation principles, terminologies and implementations
Test automation principles, terminologies and implementationsTest automation principles, terminologies and implementations
Test automation principles, terminologies and implementations
 
Open Source Software Testing Tools
Open Source Software Testing ToolsOpen Source Software Testing Tools
Open Source Software Testing Tools
 
Test automation process
Test automation processTest automation process
Test automation process
 
Test Automation Framework Development Introduction
Test Automation Framework Development IntroductionTest Automation Framework Development Introduction
Test Automation Framework Development Introduction
 
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
 
Test Automation Frameworks Using Selenium | Edureka
Test Automation Frameworks Using Selenium | EdurekaTest Automation Frameworks Using Selenium | Edureka
Test Automation Frameworks Using Selenium | Edureka
 
Pragmatic Java Test Automation
Pragmatic Java Test AutomationPragmatic Java Test Automation
Pragmatic Java Test Automation
 
Selenium - Introduction
Selenium - IntroductionSelenium - Introduction
Selenium - Introduction
 
Hybrid Automation Framework Development introduction
Hybrid Automation Framework Development introductionHybrid Automation Framework Development introduction
Hybrid Automation Framework Development introduction
 
Selenium Architecture
Selenium ArchitectureSelenium Architecture
Selenium Architecture
 

Similar to Data driven automation testing of web applications using selenium

Centralized test automation framework implementation
Centralized test automation framework implementationCentralized test automation framework implementation
Centralized test automation framework implementationBharathi Krishnamurthi
 
Silk4j Tcm6 174177
Silk4j Tcm6 174177Silk4j Tcm6 174177
Silk4j Tcm6 174177titita13
 
Top 20 best automation testing tools
Top 20 best automation testing toolsTop 20 best automation testing tools
Top 20 best automation testing toolsQACraft
 
Discover the power of QA automation testing
Discover the power of QA automation testingDiscover the power of QA automation testing
Discover the power of QA automation testingSoftweb Solutions
 
7 Effective Practices to Follow for Selenium Automation Testing
7 Effective Practices to Follow for Selenium Automation Testing7 Effective Practices to Follow for Selenium Automation Testing
7 Effective Practices to Follow for Selenium Automation TestingTestingXperts
 
Selenium Automation Framework (SAF).
Selenium Automation Framework (SAF).Selenium Automation Framework (SAF).
Selenium Automation Framework (SAF).Mindtree Ltd.
 
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
 
[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.org
 
Best Unit Testing Frameworks to Automate your Desktop Web Testing using Selen...
Best Unit Testing Frameworks to Automate your Desktop Web Testing using Selen...Best Unit Testing Frameworks to Automate your Desktop Web Testing using Selen...
Best Unit Testing Frameworks to Automate your Desktop Web Testing using Selen...pCloudy
 
Selenium Basics Tutorial
Selenium Basics TutorialSelenium Basics Tutorial
Selenium Basics TutorialClever Moe
 
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-5hemasubbu08
 
Lesson_06_Software_and_Automation_Testing_Frameworks.pdf
Lesson_06_Software_and_Automation_Testing_Frameworks.pdfLesson_06_Software_and_Automation_Testing_Frameworks.pdf
Lesson_06_Software_and_Automation_Testing_Frameworks.pdfMinh Quân Đoàn
 
Best Selenium Python Frameworks for Test automation.pdf
Best Selenium Python Frameworks for Test automation.pdfBest Selenium Python Frameworks for Test automation.pdf
Best Selenium Python Frameworks for Test automation.pdfpCloudy
 
iLeap- Test Automation Framework- Impetus White Paper
iLeap- Test Automation Framework- Impetus White PaperiLeap- Test Automation Framework- Impetus White Paper
iLeap- Test Automation Framework- Impetus White PaperImpetus Technologies
 
Automation Testing by Ashwin Shiv
Automation Testing by Ashwin Shiv Automation Testing by Ashwin Shiv
Automation Testing by Ashwin Shiv Ashwin Shiv
 
Selenium test automation
Selenium test automationSelenium test automation
Selenium test automationSrikanth Vuriti
 

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

Centralized test automation framework implementation
Centralized test automation framework implementationCentralized test automation framework implementation
Centralized test automation framework implementation
 
Silk4j Tcm6 174177
Silk4j Tcm6 174177Silk4j Tcm6 174177
Silk4j Tcm6 174177
 
Top 20 best automation testing tools
Top 20 best automation testing toolsTop 20 best automation testing tools
Top 20 best automation testing tools
 
Discover the power of QA automation testing
Discover the power of QA automation testingDiscover the power of QA automation testing
Discover the power of QA automation testing
 
7 Effective Practices to Follow for Selenium Automation Testing
7 Effective Practices to Follow for Selenium Automation Testing7 Effective Practices to Follow for Selenium Automation Testing
7 Effective Practices to Follow for Selenium Automation Testing
 
Selenium Automation Framework (SAF).
Selenium Automation Framework (SAF).Selenium Automation Framework (SAF).
Selenium Automation Framework (SAF).
 
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)
 
[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...
 
Best Unit Testing Frameworks to Automate your Desktop Web Testing using Selen...
Best Unit Testing Frameworks to Automate your Desktop Web Testing using Selen...Best Unit Testing Frameworks to Automate your Desktop Web Testing using Selen...
Best Unit Testing Frameworks to Automate your Desktop Web Testing using Selen...
 
Selenium framework faq
Selenium framework faqSelenium framework faq
Selenium framework faq
 
Fitnesse, Watir and Ruby Based Test Automation System
Fitnesse, Watir and Ruby Based Test Automation SystemFitnesse, Watir and Ruby Based Test Automation System
Fitnesse, Watir and Ruby Based Test Automation System
 
Automated testing web application
Automated testing web applicationAutomated testing web application
Automated testing web application
 
Selenium Basics Tutorial
Selenium Basics TutorialSelenium Basics Tutorial
Selenium Basics Tutorial
 
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
 
Lesson_06_Software_and_Automation_Testing_Frameworks.pdf
Lesson_06_Software_and_Automation_Testing_Frameworks.pdfLesson_06_Software_and_Automation_Testing_Frameworks.pdf
Lesson_06_Software_and_Automation_Testing_Frameworks.pdf
 
Best Selenium Python Frameworks for Test automation.pdf
Best Selenium Python Frameworks for Test automation.pdfBest Selenium Python Frameworks for Test automation.pdf
Best Selenium Python Frameworks for Test automation.pdf
 
iLeap- Test Automation Framework- Impetus White Paper
iLeap- Test Automation Framework- Impetus White PaperiLeap- Test Automation Framework- Impetus White Paper
iLeap- Test Automation Framework- Impetus White Paper
 
Automation Testing by Ashwin Shiv
Automation Testing by Ashwin Shiv Automation Testing by Ashwin Shiv
Automation Testing by Ashwin Shiv
 
Selenium test automation
Selenium test automationSelenium test automation
Selenium test automation
 
Selenium
SeleniumSelenium
Selenium
 

Recently uploaded

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Recently uploaded (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Data driven automation testing of web applications using selenium

  • 1. 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
  • 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

  1. 01/31/10 AVACorp
  2. * RFT -> Rational functional tester 01/31/10 AVACorp
  3. 01/31/10 AVACorp AVACorp