Test Automation With Selenium Using Page Object Design


Published on

Published in: Career, Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Test Automation With Selenium Using Page Object Design

  1. 1. Automated Web Testing With Selenium In MJournal Presented by: Md. Humayun Kabir
  2. 2. Discussion on: What Is Selenium Components of Selenium What is Selenium 2.0 Selenium 2.0 Architecture. Webdriver Webdriver Introduction Automating With Selenium 2.0 The Webdriver API Page Object Design What is Page Object Design Pattern? How Does It Work? MJournal Automation. Q & A.
  3. 3. What is Selenium? Selenium is a set of tools for cross-platform automated testing of web application. Selenium Supports: IE, Firefox, Safari, Opera and Other browsers. Windows, OS x, Linux, Solaris and Others OS’s C#, Java, Perl, PHP, Python, Ruby and Others Languages Bromine, NUnit, JUnit, RSpec, TestNG, unittest
  4. 4. Components of Selenium?
  5. 5. What is Selenium 2.0
  6. 6. Webdriver Introduction A different way of automating the browser. Create a browser-specific driver to control the browser directly and have to do this for each browser. Object oriented API Doesn’t need a real browser. No Javascript limitations No need for a server.
  7. 7. The WebDriver API Works well with a Page Object design model.
  8. 8. Page Object Design Pattern A Page Object is a design pattern become popular for Enhancing test maintenance & Reducing code duplication A Page Object is a object oriented class that serves as an interface to a page of your AUT(Application Under Test). If UI change, tests don’t need to be change, only the code within the page object need to be changed.
  9. 9. How does it work? Each page is defined as it’s own class. Actions (including navigation) are represented as functions for a class. Each function returns a new Page object, signifying what page the actions stops on. Tests only talk to the page objects. Page objects only talk to the driver. Elements on the page are stored as variables for the page object Tests become a string of well defined functions, not meaningless gibberish. Class Inheritance can be used to define functionality to a set of pages.
  10. 10. MJournal Automation Page Object Pattern:
  11. 11. Page Object Pattern: Open Frontpage
  12. 12. Page Object Pattern: How Search working?
  13. 13. How is it easy to handle [base class]
  14. 14. Page object Class
  15. 15. Page Object Design: Create User, check it, delete it, & Check it again (in base class)
  16. 16. Page Object Design: Create User, check it, delete it, & Check it again (in Page object class)
  17. 17. Add test cases to NUnit
  18. 18. Expecting this screen 
  19. 19. Mjournal Test automation Lets go to real automation: going to code
  20. 20. Q&A
  21. 21. Thank you!!!