- Automation Overview
- Core skills taught on the course
- Overview of Selenium IDE and available add-ins
- Recording and replay of a Selenium IDE Test
- Object recognition tools Chropath.
- Assertions and Verifications
- Exporting a Selenium IDE Test as CSharp
Creating Selenium Scripts in VSCode
- Configuring a new C# project in VSCode
- Creating a basic automated test and a test suite
- Executing a test and test suite through VSCode
- Importing a test from Selenium IDE
- Components of Selenium Webdriver in NUnit
- Annotations in WebDriver
- Interacting with the AUT: Object locators
- Actions on WebElements
Data Driving Selenium Tests
- Use of data sources (e.g. Excel spreadsheets, CSV files, databases) to provide increased maintainability flexibility.
Debugging and coding
Debugging skills are a critical and often overlooked part of learning how to automate tests.
This section teaches basic debugging within VSCode, including:
- Setting breakpoints
- Retrieving values on-the-fly
- Stepping through code
- Observing the Application under Test
- Making deductions
- Building and testing a hypothesis
Page Object Model
The Page Object Model enables reusablee code to provide a maintainable automation framework.
Areas covered include:
- Introducing the Page Object Model
- Accessing the page objects in a test script
Object recognition is one of the commonest issues automation testers have to face. A number of techniques and approaches can be used, including:
- Why it is difficult to identify an object.
- Choice of element locator
- Use of multiple locator properties
- Use of XPath or CSS syntax and patterns
- Use of ordinal identifiers
- Using Chropath to write more stable locators
- Descriptive programming for dynamic objects
- How to navigate web iframes
A series of hands-on learning exercises including:
- Selenium IDE: Creating a new test
- VSCode: Importing the new Selenium test into a newly created C# project
- Page Objects: Converting the script to use them
- Asserts: For both positive and negative test
- Data driving: simple and complex.