This course will introduce you to the basics of automation testing using Selenium and build on that foundation to cover advanced topics. The course is very hands on with a strong focus on web driver functionality.
Course Duration: 2 days
Prerequisites:
Students should have a minimum of six months hands-on coding experience in the language they will be using in production (e.g. Java, C#, Python, etc.).
Course Objectives:
Upon completion of this course, participants should:
- Know how to use Selenium WebDriver automation tool and write test scripts using Java, Python or C#
- Understand the motivation for test automation
- Know how to work with Page Objects
- Have ample practice using Selenium Grid
- Be able to develop Frameworks using WebDriver and Java
Upon completion of this course, participants should:
- Know how to use Selenium WebDriver automation tool and write test scripts using Java, Python or C#
- Understand the motivation for test automation
- Know how to work with Page Objects
- Have ample practice using Selenium Grid
- Be able to develop Frameworks using WebDriver and Java
Course Outline:
- Introduction
- Selenium
- Test Automation
- Testing Approaches
- Should I Automate?
- Selenium Installation
- Browser Specific
- Non-Browser Specific
- Standalone
- WebDriver – Beginning
- Browsers
- Drivers and Plugins
- Basic Operations
- Open and Closing Window
- Maximizing the Window
- Navigating Back and Forward
- Get Current URL
- Get Page Source
- Resize and Move Window
- WebDriver Elements
- Element Identification
- By XPath
- By CSS
- By ID
- By Name
- By Tag Name
- By Class Name
- By Link Text / Partial Link Text
- XPath Fundamentals
- Element Operations
- Keys and Data Entry
- Performing Actions
- Drag and Drop
- Double Click
- Mouse Over/ Mouse Hover
- Context Menu
- WebDriver – Advanced
- Setup
- Browser Launching
- Waits
- Support Classes
- HTTP Proxies
- Page Loading Strategy
- Web Elements
- Keyboard
- Mouse
- JavaScript Executor
- Exceptions
- Switching Context
- Screen Shots
- Element Identification
- Remote WebDriver
- Server
- Client
- Testing Considerations
- Page Object Models
- Page Factory Model
- Domain Specific Language
- Data-Driven?
- Generating Application State
- Mock External Services
- Improved Reporting
- Avoid Sharing State
- Test Independency
- Using a Fluent API
- Browser State
- Testing Gotchas
- Captchas
- File Downloads
- HTTP Response Codes
- Logins
- Test Dependency
- Performance Testing
- Link Spidering
- Selenium Grid
- Pros and Cons
- Components
- Create Your Own
- Introduction
- Selenium
- Test Automation
- Testing Approaches
- Should I Automate?
- Selenium Installation
- Browser Specific
- Non-Browser Specific
- Standalone
- WebDriver – Beginning
- Browsers
- Drivers and Plugins
- Basic Operations
- Open and Closing Window
- Maximizing the Window
- Navigating Back and Forward
- Get Current URL
- Get Page Source
- Resize and Move Window
- WebDriver Elements
- Element Identification
- By XPath
- By CSS
- By ID
- By Name
- By Tag Name
- By Class Name
- By Link Text / Partial Link Text
- XPath Fundamentals
- Element Operations
- Keys and Data Entry
- Performing Actions
- Drag and Drop
- Double Click
- Mouse Over/ Mouse Hover
- Context Menu
- WebDriver – Advanced
- Setup
- Browser Launching
- Waits
- Support Classes
- HTTP Proxies
- Page Loading Strategy
- Web Elements
- Keyboard
- Mouse
- JavaScript Executor
- Exceptions
- Switching Context
- Screen Shots
- Element Identification
- Remote WebDriver
- Server
- Client
- Testing Considerations
- Page Object Models
- Page Factory Model
- Domain Specific Language
- Data-Driven?
- Generating Application State
- Mock External Services
- Improved Reporting
- Avoid Sharing State
- Test Independency
- Using a Fluent API
- Browser State
- Testing Gotchas
- Captchas
- File Downloads
- HTTP Response Codes
- Logins
- Test Dependency
- Performance Testing
- Link Spidering
- Selenium Grid
- Pros and Cons
- Components
- Create Your Own