Explore Practical Test Automation with Selenium, the WebDriver API, the Selenium Server and Selenium Grid.
Remote Test Automation with Selenium Grid provide students with a solid understanding of practical automation concepts using Selenium, the WebDriver API, the Selenium server, and Selenium Grid to drive consistent functional and non-functional tests that are performed remotely and can be parallelized. Students will learn the core API, tools, and how to work with them together to create powerful testing harnesses. Student will then migrate a set of Selenium tests into a remote testing environment, implementing parallelized testing and, eventually, using Cloud-based Grids to run the tests.
Read more +
Prerequisites
This is an intermediate level course, geared for Test Engineers, Quality Assurance Engineers, and their management who have prior knowledge of Selenium basics. Code examples are in a combination of the specific domain-specific languages and Java, so some experience in object-oriented development with Java is expected.
Read more +
Who Should Attend
Developers, Web Developers, Testers, Test Engineers, QA, Technical Managers.
Read more +
What You Will Learn
Students who attend Automated Web Testing with Selenium Driver will leave the course armed with the skills required to recognize how to test web applications for sufficiency. This course uses Selenium and the WebDriver interface to design and implement tests. The student will work with a sample Web Application that requires several testing scenarios.
This “skills-centric” course is about 50% hands-on lab and 50% lecture, designed to train attendees in core Selenium and web testing skills, coupling the most current, effective techniques with the soundest industry practices. Working in a hands-on environment led by our expert practitioner students will:
- Understand web page testing needs and how Selenium meets those needs
- Analyze a web application from a functional and testing perspective
- Use Selenium constructs to locate elements on a web page
- Test web page forms and the elements in those forms
- Use test suites to organize and manage tests
- Review Java constructs needed to by testers in working with WebDriver
- Design code and run automated Selenium tests using the Java WebDriver API
- Use the WebDriver API to test advanced web features such as delayed responses and Ajax
- Using a combination of JUnit 5 features and WebDriver to consume streams of data for testing
- Focus on Best Practices for Selenium testing using the Java WebDriver API
- Work with Selenium server and webdriver-manager to run tests
- Setup and run a Selenium Grid to run a set of Selenium tests
- Setup and run Selenium tests in parallel in a Selenium Grid
- Setup and run Selenium tests in a Cloud solution (if students have internet access)
- An overview of how it all works in Continuous Integration
Read more +
Outline
Session: Selenium Basics Quick Refresher
Lesson: Introduction to Selenium
- Selenium Concepts and Components
- Manual Testing using Selenium
- Automated Testing using Selenium
- Java, Testing Frameworks, and Selenium WebDriver
Session: Testing with Java and Selenium WebDriver
Lesson: JUnit 5 for Selenium
- What JUnit brings to the table
- JUnit Method Lifecycle
- Test setup and teardown
- Parameterized tests
- Assertions
Lesson: Selenium WebDriver
- Working with WebDriver in Java
- Finding Spots on Web Pages
- Working with different browsers
- Built-In Locators
Lesson: WebDriver Deep Dive
- WebDriver Commands for working with forms
- Working with complex form components
- Taking screenshots
- Working with alerts
Lesson: Advanced WebDriver
- Use WebDriver to work with windows, tabs and iframes
- Utilize Actions class for mouse and keyboard actions
- Testing file uploads and downloads
- Testing AJAX elements
- Waiting for events to happen
- Feeding data sets into a testing sequence
Session: Selenium Practices and Processes
Lesson: Selenium Best Practices
- Preparation
- Managing Names
- Multiple Browser Testing
- High Quality Tests and Test Plans
- Using Whitespace
- Efficient Operations
- Establish Selenium Standards
Lesson: Testing Strategies and Patterns
- Types of web application tests
- Strategies for locating elements
- Wrapping Selenium calls
- User interface maps
Session: Extending WebDriver Testing
Lesson: Page Object Model (POM)
- POM Design Pattern
- Principles and Design of Page Object classes
- Object Repository for Locators
- Page Factory Overview
- Page Factory Caching
Lesson: Introduction to Selenium Frameworks
- Automation Framework Basics
- Data Driven Framework
- Keyword Driven Framework
- Hybrid Framework
Session: Remote Testing with Selenium Grid
Lesson: Remote Testing
- Working with Selenium Server
- Using the webdriver-manager
- Shifting from local to remote
Lesson: Selenium Grid Basics
- Architecture of Selenium Grid
- Hub: Command and Control
- Node: Testing Instance
- Configuring and Running a Selenium Grid
- Working with RemoteWebDriver
Lesson: Running Tests in Parallel
- The Advantages of Parallelism
- The Challenges of Parallelism
- Running Parallel Tests in Grid and JUnit
- Dealing with Parallel States
Lesson: Working with Grid
- Troubleshooting Grids
- Best Practices for Working with Grid
- Challenges with Windows Nodes
- When Not to use Selenium Grid
Lesson: Extending Selenium Grid
- Selenium Grid Providers and Solutions
- Selenium Grid with Docker
- Zalenium
- What is Coming in Selenium
Read more +