SELENIUM COURSE CONTENT:
Course Description
Within fast moving agile software development teams it becomes important to test user interfaces as they are being coded. Automated Testing techniques using Selenium 2 allow for test replay of important features as development progresses. Selenium IDE and Selenium Web Driver are important tools for any tester or developer to use in ensuring software quality and making changes with confidence. This interactive, hands-on workshop provides an understanding and advanced techniques in the use of Selenium 2 with hands on practice. The practice exercises are tailored to various skill levels and type of application being tested, from simple forms to complex web applications.
Objectives:
The class will teach participants to:
Understand trade-offs of automated vs. manual testing.
Record, edit and play back Selenium IDE tests against multiple types of web applications.
Minimize test failure due to normal changes to code.
Understanding of basic Selenium commands to get through common issue with web applications.
Use of Eclipse to run tests individually and as a group to generate test failure reports.
Learn how to help developers understand the importance of making applications more testable to improve usability.
Topics:
Overview of automated testing
Selenium Suite Overview
Selenium 2 Limitations
Selenium IDE
HTML Locator strategy and false test failure
Firefox Firebug and reading HTML
Selenium Web Driver setup
Eclipse and JUnit (Don't Panic it's just code)
Convert Selenium IDE tests into Selenium 2 Java WebDriver tests
Working with unsupported commands from Selenium IDE
Dealing with security and certificates
Selenium Web Driver practice workshop
Learn how to test in multiple browsers and generate metrics and reports
Discussion of setting up Selenium Web Driver for continuous integration
Bonus Features:
Sample Selenium Web Driver code
Scripts to run JUnit test suites on multiple browsers and generate reports and metrics
List of web resources and blogs for reference
Laminated CSS selector cheat sheet
Laminated Selenium 2 command reference
Courses Offered in Our Training Institute:
1)Msbi
2)Dotnet
3)SharePoint 2010
4)Testing TOOLs - QTP, QC , Load Runner, Selenium
5)SQL SERVER
Visit for the course Details www.mindqonline.com
Mail us for details: online@mindqsystems.com
Call me at: +91-9502991277.
2. How Selenium Remote Control works
You launch a server on your test machine.
Your tests connect to that server via IP.
The server launches a browser, with selenium CORE
embedded as javascript into the page.
Selenium CORE simulates user actions with javascript.
www.Seleniumonlinetraining.info
2
3. THE GOOD THE BAD
Doesn’t steal your
mouse/keyboard.
Works with any browser that
uses javascript
Works for any OS that
supports java.
Very fast page interactions.
Large API
Supports a variety of
programming languages.
Can be run on remote
machines
Can’t see anything outside
the page object.
Not all browsers support all
functionality.
Some pages aren’t
automatable.
Can’t see inside third party
apps
XSS Limitations
www.Seleniumonlinetraining.info
3
4. A different way of automating the browser.
Create a browser-specific driver to control the browser
directly.
Have to do this for each browser!
Object oriented API
Doesn’t need a real browser
No javascript limitations
No need for a server.
Isn’t as delicate as selenium.
www.Seleniumonlinetraining.info
4
5. Went into Beta Dec 24th
.
WebDriver + Selenium
The two projects have merged (literally) into
Selenium 2.0
Large browser support and no javascript limitations.
No server
The old API’s are still available.
New API’s are becoming available.
www.Seleniumonlinetraining.info
5
6. You have 2 options:
IWebDriver
This is just the WebDriver api
Doesn’t support a lot of browsers.
Will need to change all your tests.
WebDriverBackedSelenium
Uses the old Selenium 1 API
But uses WebDriver to run things if possible
Can use selenium 1 if the browser isn’t supported.
www.Seleniumonlinetraining.info
6
7. Object Oriented
Doesn’t break nearly as often
Handles pageloads automatically
Fewer problems automating
Somewhat more complicated API
selenium.type(“password”,”thisIsMyPassword”);
driver.findElement(By.id("password")).sendKeys(“thisIsMyPassword");
By.Id, By.Xpath, By.Name, By.ClassName, By.PartialLinkText
All the supported browsers work really well
Can extend the API to add custom functionality.
Works well with a Page Object design model.
www.Seleniumonlinetraining.info
7
8. Adds a layer of abstraction into your code.
Helps to organize your code once it grows large.
All automation is automatically reusable and shareable.
A way to separate tests from re-usable functions.
A way to store information about how the system works.
A way to specify what page functions start on, and what page they end on.
A way to programmatically break your tests when functionality changes.
Makes code maintenance easier.
There is even a PageFactory class available to automatically create them.
www.Seleniumonlinetraining.info
8
9. 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.
Your tests “know” what page you are on, and will only give you access to
functions available to that class.
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.
Automatic page validations can be stored in the constructor for each page
object.
Tests become a string of well defined functions, not meaningless gibberish.
Tests can be grouped by namespace.
Class Inheritance can be used to define functionality to a set of pages.
We can make functional logic transparent to the tests by returning different
inherited classes.
www.Seleniumonlinetraining.info
9