Test Automation With Selenium Using Page Object Design

Post on 04-Dec-2014

2.062 views 10 download

description

 

Transcript of Test Automation With Selenium Using Page Object Design

Automated Web Testing

With Selenium In MJournal

Presented by:

Md. Humayun Kabir

Discussion on:What Is Selenium

Components of Selenium

What is Selenium 2.0

Selenium 2.0 Architecture.

WebdriverWebdriver Introduction

Automating With Selenium 2.0

The Webdriver API

Page Object DesignWhat is Page Object Design Pattern?

How Does It Work?

MJournal Automation.

Q & A.

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

Components of Selenium?

What is Selenium 2.0

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.

The WebDriver API

Works well with a Page Object design model.

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.

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.

MJournal Automation

Page Object Pattern:

Page Object Pattern: Open Frontpage

Page Object Pattern: How Search working?

How is it easy to handle [base class]

Page object Class

Page Object Design: Create User, check it, delete it, & Check it again (in base class)

Page Object Design: Create User, check it, delete it, & Check it again (in Page object class)

Add test cases to NUnit

Expecting this screen

Mjournal Test automation

Lets go to real automation: going to code

Q & A

Thank you!!!