Course Outline
Introduction to Selenium with Python
- The rationale for using Selenium in web testing.
- The benefits of choosing Python over other languages for test automation.
- Real-world applications of Selenium and Python.
Installation and Configuration
- Setting up Python and IDEs (PyCharm, VS Code).
- Installing Selenium and associated WebDrivers.
- Configuring Pytest as the test execution engine.
Selenium 4 Architecture and Core Components
- Selenium IDE for quick record-and-playback tasks.
- Selenium WebDriver for browser automation APIs.
- Selenium Grid for parallel and distributed testing.
Python Scripting Fundamentals for Automation
- Python basics relevant to testers.
- Utilizing data structures within test scripts.
- Applying Pytest for assertions and fixtures.
Practical WebDriver Implementation
- Navigating through web applications.
- Identifying elements using locators, CSS selectors, XPath, and relative locators.
- Interacting with forms, alerts, iframes, and dropdown menus.
Framework Design via Page Object Model (POM)
- Overview of the Page Object Model.
- Creating reusable page classes.
- Implementing data-driven and keyword-driven testing strategies.
Advanced Test Automation Techniques
- Executing tests on multiple browsers.
- Parallel testing using Selenium Grid and Pytest-xdist.
- Strategies for cross-browser testing.
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 utilizing Git.
Troubleshooting and Best Practices
- Addressing common issues related to locators, waits, and synchronization.
- Stabilizing flaky tests.
- Best practices for maintaining test suites.
Summary and Future Directions
Requirements
- Foundational experience in Python programming.
- Basic understanding of test automation principles.
- Familiarity with web applications and browsers.
Target Audience
- Testers.
- Developers.
- QA automation engineers.
Testimonials (2)
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.