KEMBAR78
Web Test Automation with Selenium | PPT
Web Test Automation with Selenium Vivek Prahlad
Agenda Introduction to Selenium Demo An overview of the framework, and how it works Showcase the different ways of using Selenium FIT style tables Selenium Remote Control (RC) Limitations of Selenium
What is Selenium? A JavaScript based Open Source Web testing tool That supports testing Web 2.0 applications On multiple browsers And multiple Operating Systems
Quick Demo
Overview History: originated from TW Time Sheet application Extremely popular Open Source Web testing tool Can be used for Acceptance / Functional testing Can be used for reproducing bugs
Using Selenium Bot mode: Selenium Core HTML Tables Driven mode: Selenium Remote Control (RC) Test cases in language of choice Record mode: Selenium IDE
Architecture
Table or driver based? Table based approach fine for simple tests. No programming required Doesn't scale – duplication is a major issue. Driver approach better for 'Real' test suites Can develop tests in language of choice: C#, Java, Ruby, Python, Perl Easier data management via DB / Excel
Maintaining Test Suites Test code is just like production code! Needs refactoring, abstraction API for the application Can build tests from API building blocks Try to maintain meaning – in test names, variable names, comments, and suite organization
Evolving Test Suites Do your test suites break as the app evolves? The importance of DRY: Don't Repeat Yourself Minimize changes to test suite as app changes Avoid redoing / reworking entire test suites Avoiding duplication simpler for test code: test steps execute sequentially Methods, parametrization To some extent, Object Orientation
Demo: Refactoring Tests
Ajax support Selenium supports testing Web 2.0 applications Monitor the DOM for completion of Async calls waitForCondition() waitForValue()
Continuous Integration Run Selenium tests as part of the build Works with both Core and Driven modes (Each time a developer checks in, if necessary) Can generate HTML reports, published to entire team Helps catch bugs ASAP Addresses risk of catching bugs late in the cycle
Limitations Most limitations valid if using Selenium Core: Alerts “ Same Origin Policy” File uploads
Summary Selenium is a testing framework for Web Applications Drivers allow web testing in language of choice Test scripts are code: need maintenance, refactoring Limitations of Selenium
Thank You! Check out Selenium at:  http://www.openqa.org/selenium Questions?

Web Test Automation with Selenium

  • 1.
    Web Test Automationwith Selenium Vivek Prahlad
  • 2.
    Agenda Introduction toSelenium Demo An overview of the framework, and how it works Showcase the different ways of using Selenium FIT style tables Selenium Remote Control (RC) Limitations of Selenium
  • 3.
    What is Selenium?A JavaScript based Open Source Web testing tool That supports testing Web 2.0 applications On multiple browsers And multiple Operating Systems
  • 4.
  • 5.
    Overview History: originatedfrom TW Time Sheet application Extremely popular Open Source Web testing tool Can be used for Acceptance / Functional testing Can be used for reproducing bugs
  • 6.
    Using Selenium Botmode: Selenium Core HTML Tables Driven mode: Selenium Remote Control (RC) Test cases in language of choice Record mode: Selenium IDE
  • 7.
  • 8.
    Table or driverbased? Table based approach fine for simple tests. No programming required Doesn't scale – duplication is a major issue. Driver approach better for 'Real' test suites Can develop tests in language of choice: C#, Java, Ruby, Python, Perl Easier data management via DB / Excel
  • 9.
    Maintaining Test SuitesTest code is just like production code! Needs refactoring, abstraction API for the application Can build tests from API building blocks Try to maintain meaning – in test names, variable names, comments, and suite organization
  • 10.
    Evolving Test SuitesDo your test suites break as the app evolves? The importance of DRY: Don't Repeat Yourself Minimize changes to test suite as app changes Avoid redoing / reworking entire test suites Avoiding duplication simpler for test code: test steps execute sequentially Methods, parametrization To some extent, Object Orientation
  • 11.
  • 12.
    Ajax support Seleniumsupports testing Web 2.0 applications Monitor the DOM for completion of Async calls waitForCondition() waitForValue()
  • 13.
    Continuous Integration RunSelenium tests as part of the build Works with both Core and Driven modes (Each time a developer checks in, if necessary) Can generate HTML reports, published to entire team Helps catch bugs ASAP Addresses risk of catching bugs late in the cycle
  • 14.
    Limitations Most limitationsvalid if using Selenium Core: Alerts “ Same Origin Policy” File uploads
  • 15.
    Summary Selenium isa testing framework for Web Applications Drivers allow web testing in language of choice Test scripts are code: need maintenance, refactoring Limitations of Selenium
  • 16.
    Thank You! Checkout Selenium at: http://www.openqa.org/selenium Questions?