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

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 

Recently uploaded (20)

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 

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