Course Outline
Introduction to Selenium with Python
- Why Selenium is essential for web testing
- Advantages of using Python over other languages for test automation
- Real-world applications of Selenium and Python in various sectors, including for government
Installation and Setup
- Configuring Python and Integrated Development Environments (IDEs) such as PyCharm and VS Code
- Installing Selenium and WebDrivers to facilitate browser automation
- Setting up Pytest as the test runner for efficient test execution
Selenium 4 Architecture and Components
- Selenium IDE: a tool for quick record-and-playback testing
- Selenium WebDriver: APIs for automating web browser interactions
- Selenium Grid: enabling parallel and distributed testing to enhance efficiency
Python Scripting Essentials for Automation
- Fundamental Python concepts for testers
- Utilizing data structures in test scripts to manage data effectively
- Leveraging Pytest for assertions and fixtures to ensure robust testing
WebDriver in Action
- Navigating web applications using Selenium WebDriver
- Locating elements with locators, CSS selectors, XPath, and relative locators
- Interacting with forms, alerts, iframes, and dropdowns to simulate user actions
Framework Design with Page Object Model (POM)
- Overview of the Page Object Model design pattern
- Creating reusable page classes to streamline test development
- Implementing data-driven and keyword-driven testing methodologies
Advanced Test Automation
- Executing tests across multiple browsers to ensure compatibility
- Conducting parallel testing using Selenium Grid and Pytest-xdist for faster test execution
- Developing cross-browser testing strategies to cover a wide range of environments
Continuous Integration and Reporting
- Integrating tests with continuous integration tools such as Jenkins, GitHub Actions, or GitLab CI
- Generating comprehensive reports using Allure or Pytest-html to facilitate analysis
- Implementing version control and best practices with Git for maintaining test suites
Troubleshooting and Best Practices
- Addressing common issues related to locators, waits, and synchronization in tests
- Stabilizing flaky tests to improve reliability
- Adhering to best practices for creating maintainable and scalable test suites
Summary and Next Steps
Requirements
- Fundamental Python programming skills
- Basic understanding of test automation principles
- Familiarity with web applications and browsers
Audience for government
- Testers
- Developers
- QA Automation Engineers
Testimonials (5)
The instructor's teaching style was very good.
Kubra
Course - Automation Testing using Selenium
Good rapport, Łukasz had time for everyone's questions and was able to help anyone who had any issue
Kelly Morris - Titian Software Poland Sp. z o.o.
Course - Selenium WebDriver in C#
The fact of having more practical exercises using more similar data to what we use in our projects (satellite images in raster format)
Matthieu - CS Group
Course - Scaling Data Analysis with Python and Dask
Very good preparation and expertise of a trainer, perfect communication in English. The course was practical (exercises + sharing examples of use cases)
Monika - Procter & Gamble Polska Sp. z o.o.
Course - Developing APIs with Python and FastAPI
Trainer is nice. His explanation is clear and interesting. He try to make the lessons interesting as possible. I enjoyed the lesson and gained a lot of knowledge. Thank you so much. The most useful technique I learned is the locating elements for different web component like textbox, radio buttons and buttons. Sometimes, the element ID is not capture correctly. We learned a different way of locating elements by using CSS selectors, XPath, Name and ID. I like the explanation. Thanks