Slideshow transcript
Slide 1: Web Test Automation with Selenium Vivek Prahlad © ThoughtWorks, 2006
Slide 2: 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 © ThoughtWorks, 2006 2
Slide 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 © ThoughtWorks, 2006 3
Slide 4: Quick Demo © ThoughtWorks, 2006
Slide 5: 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 © ThoughtWorks, 2006 5
Slide 6: Using Selenium Bot mode: Selenium Core HTML Tables Driven mode: Selenium Remote Control (RC) Test cases in language of choice Record mode: Selenium IDE © ThoughtWorks, 2006 6
Slide 7: Architecture © ThoughtWorks, 2006
Slide 8: 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 © ThoughtWorks, 2006 8
Slide 9: 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 © ThoughtWorks, 2006 9
Slide 10: 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 © ThoughtWorks, 2006 10
Slide 11: Demo: Refactoring Tests © ThoughtWorks, 2006
Slide 12: Ajax support Selenium supports testing Web 2.0 applications Monitor the DOM for completion of Async calls waitForCondition() waitForValue() © ThoughtWorks, 2006 12
Slide 13: 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 © ThoughtWorks, 2006 13
Slide 14: Limitations Most limitations valid if using Selenium Core: Alerts “Same Origin Policy” File uploads © ThoughtWorks, 2006 14
Slide 15: 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 © ThoughtWorks, 2006 15
Slide 16: Thank You! Check out Selenium at: http://www.openqa.org/selenium Questions? © ThoughtWorks, 2006 16



Add a comment on Slide 1
If you have a SlideShare account, login to comment; else you can comment as a guest- Favorites & Groups
Showing 1-50 of 8 (more)