Course Outline
Introduction to Selenium with Python
- Rationale for choosing Selenium for web testing
- Benefits of Python compared to other languages for test automation
- Real-world use cases involving Selenium and Python
Installation and Setup
- Configuring Python and IDEs (such as PyCharm and VS Code)
- Installing Selenium and WebDrivers
- Setting up Pytest as the test runner
Selenium 4 Architecture and Components
- Selenium IDE: rapid record-and-playback functionality
- Selenium WebDriver: browser automation APIs
- Selenium Grid: parallel and distributed testing capabilities
Python Scripting Essentials for Automation
- Python fundamentals tailored for testers
- Utilising data structures within test scripts
- Employing Pytest for assertions and fixtures
WebDriver in Action
- Navigating web applications
- Element location techniques: locators, CSS selectors, XPath, and relative locators
- Interacting with forms, alerts, iframes, and dropdowns
Framework Design with Page Object Model (POM)
- Introduction to POM
- Constructing reusable page classes
- Implementing data-driven and keyword-driven tests
Advanced Test Automation
- Executing tests on multiple browsers
- Parallel testing using Selenium Grid and Pytest-xdist
- Cross-browser testing strategies
Continuous Integration and Reporting
- Integrating tests with Jenkins, GitHub Actions, or GitLab CI
- Generating reports using Allure or Pytest-html
- Version control and best practices with Git
Troubleshooting and Best Practices
- Common issues related to locators, waits, and synchronization
- Stabilising flaky tests
- Best practices for maintaining test suites
Summary and Next Steps
Requirements
- Fundamental Python programming experience
- Basic understanding of test automation concepts
- Familiarity with web applications and browsers
Audience
- Testers
- Developers
- QA automation engineers
Testimonials (3)
hands on exercises, easier to retain information
ashley bolen - Insurance Corporation of British Columbia
Course - Test Automation with Selenium
Hands-on exercises related to content really helps to understand more about each topic. Also, style of start class with lecture and continue with hands-on exercise is good and helpful to relate with the lecture that presented earlier.
Nazeera Mohamad - Ministry of Science, Technology and Innovation
Course - Introduction to Data Science and AI using Python
The instructor's teaching style was very good.