Course Outline
Overview of Selenium with Python
- The rationale behind choosing Selenium for web testing
- Benefits of Python compared to other languages in test automation
- Practical applications of Selenium and Python
Setup and Configuration
- Configuring Python and development environments (PyCharm, VS Code)
- Installing Selenium and the necessary WebDrivers
- Setting up Pytest as the primary test runner
Selenium 4 Structure and Key Components
- Selenium IDE: For rapid recording and playback
- Selenium WebDriver: APIs for browser automation
- Selenium Grid: Enabling parallel and distributed testing
Essential Python Scripting for Automation
- Core Python concepts for testers
- Managing data structures within test scripts
- Leveraging 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
Designing Frameworks using the Page Object Model (POM)
- Understanding the POM approach
- Creating reusable page classes
- Implementing data-driven and keyword-driven testing strategies
Advanced Automation Techniques
- Executing tests on a variety of browsers
- Parallel testing using Selenium Grid and Pytest-xdist
- Strategies for effective cross-browser testing
CI/CD Integration and Reporting
- Connecting tests to Jenkins, GitHub Actions, or GitLab CI
- Producing reports using Allure or Pytest-html
- Managing version control and following Git best practices
Problem Solving and Best Practices
- Addressing common challenges with locators, waits, and synchronization
- Resolving instability in flaky tests
- Maintaining sustainable and organized test suites
Recap and Future Directions
Requirements
- Foundational proficiency in Python programming
- Fundamental understanding of test automation principles
- General familiarity with web applications and major 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.