JetBrains Academy Learning Courses Project-Based Learning PyCharm Python Testing

Learn to Test Software Automatically with Selenium and Python

🤖 Automation is in the air, and software testing is no exception!

Learn how to make the jump from manual to automated tests with our new course, UI Test Automation with Selenium and Python. This course is fantastic for anyone interested in Quality Assurance (QA) testing and has some introductory Python knowledge. The course can be completed over four weeks of casual study.

Learn Testing and QA Free Course Selenium for Automated UI Testing

Why learn automated testing?

As more software is written, more software must be tested for quality, reliability, and user satisfaction. QA testers are responsible for writing these tests, which systematically investigate the minute behaviors of code. However, as software is continuously changed and updated, those tests must also be altered, rerun, or reviewed.

As a QA tester with knowledge of automated testing, you can write tests to simulate user interactions and test the software continuously and automatically. This means errors are caught faster and earlier, which helps accelerate the speed of software development.

Course overview

This course is an adaptation of the extremely popular Russian-language version of the Stepik course, which has 82,000 students and a 4.9-star rating. In our adaptation, learners can explore both theory and practice integrated into their IDE with the JetBrains Academy plugin.

In completing the course, students will learn:

  • How to write scripts for identifying web elements and browser interaction.
  • An overview of different testing frameworks.
  • Version control with Git for testing.
  • Effective code organization techniques.
  • Industry-relevant best practices and other insider tips and tricks.
A screenshot of a lesson on the selenium webdriver em,bedded in an IDE

In the first three modules of the course, students will delve into theory and solve coding exercises. They will learn how to use different types of CSS selectors, XPath expressions, and the Selenium WebDriver to automate browser interactions.

Finally, students will synthesize their knowledge by completing a small testing project in the fourth module’s final project about the Page Object Model pattern, an important programming pattern for optimal code structuring. Some knowledge of object-oriented programming (OOP) is recommended to complete the final project.

Learn together on Discord

Sometimes it’s hard to find the accountability and consistency to finish a course all on your own. Join our Discord community to connect with fellow learners, interact with Marketplace course authors, and seek assistance when needed.

Free on JetBrains Marketplace

Access UI Test Automation with Selenium and Python today by following these steps:

  1. Download either PyCharm Community Edition (free) or PyCharm Professional (available with a 30-day trial).
  2. Go to the Learn tab on the Welcome screen.
  3. Check Enable access under Learn to Program.

From there you’ll be able to find the course by locating it in the list of Marketplace courses.

If you have any questions or would like to share your feedback, feel free to leave a comment below or contact us at

Happy learning!

Your JetBrains Academy team

Meet the course authors

Iulia Liakh QA engineer and SDET at JetBrains, previously QA engineer at Co-founder of QA Sisters community, passionate about community development, education, knowledge sharing and quality assurance in general. With overall experience more than 7 year developed unique expertise in both technology and people communication.

 Aleksey Pogibelev has more than 8 years of experience in IT industry and currently works as a Senior Site Reliability Engineer. His main responsibilities include improving CI/CD pipelines, optimizing application deployments pipelines and setting up test environments to accelerate testing processes. In the past, he has worked as a QA engineer and Test manager, gaining extensive experience in developing testing processes and building test frameworks for web applications and backend services. Aleksei is committed to spreading knowledge in the IT community, and this course is one of his contributions in that regard.

image description