Duration: 2 Days
Course Overview
This two-day specialist module is designed to train the test automation engineer in using the industry standard tools and techniques for automating and testing thin client user interfaces. Focusing strongly on the use of Selenium, the de facto industry standard in this area, it walks through the details of how to automate web browsers and their displayed pages, in advanced scenarios as well as simple. It also explores the integration of the Selenium toolkits with unit test automation frameworks such as JUnit so that the testing can be fully automated and integrated with other unit, functional, and regression tests as part of the test suite used by a CI/CD pipeline
The course is taught over two days using around 40% taught content, and 60% hands-on programming activities, overseen by the course instructor advising attendees in their practical activities on a one-to one basis.
How can I attend my course?
Course Content
Introduction
• The architecture of UI test automation
• Automating user interfaces with Selenium
• The Selenium components and architecture
• Integrating Selenium with Unit test frameworks and runners
Selenium components
• Selenium IDE
• The Selenium API
• Multi-language, multi-browser support
• Selenium WebDriver – the core of Selenium
• Browser-specific driver applications
• Parallel testing of multiple browser types with Grid
Simple automation
• Launching a browser from script
• Navigating to new URLs
• Controlling the browser
• Validating page contents
Testing capabilities
• Automating text entry
• Automating click events on controls
• Awaiting browser navigation completion
• Automation of selection mechanisms and other controls
Identifying controls
• Identifying by ID or Name attributes
• Using styles and CSS to find controls
• Introduction to XPath syntax
• Creating XPath navigation expressions
• Special cases: navigating into IFRAMES
• Handling drag and drop
Integration with test environments
• JUnit test runner integration
• Creating UI test sets
• Mocking the API layer
• Collecting test results
• Driving CI tools automatically from Selenium test results
Alternatives to Selenium
• Appium and the mobile/responsive UI
• Smart client technologies, e.g. Ranorex
• Testing client-side JavaScript
• Karma and Jasmine for testing Angular application UIs