Omax Tech | Blog | Automating Regression Testing with Selenium and Python in Visual Studio Code

Automating Regression Testing with Selenium and Python in Visual Studio Code

Quality Assurance
May 1, 2025
5-6 min

Share blog

Introduction

Regression testing is an essential part of any software development cycle.As your project grows time consuming and error-prone. That’s where automation comes in. In this blog, We will walk you through how we automated my web application’s regression testing using Selenium with Python, all inside Visual Studio Code.

We will also cover how we used Selenium IDE for quick script generation and how we tackled some tricky issues caused by modern UI frameworks like Material UI (MUI).

Why I Chose Selenium with Python for Automation Testing

When it comes to automation testing, there are plenty of frameworks and tools out there - Playwright, Cypress, Puppeteer, TestCafe, and of course, Selenium. After researching and testing a few of them, We decided to go with Selenium + Python for several compelling reasons. Let us walk you through why this combination was the most practical, efficient, and scalable choice for our regression testing needs.

  • Python is beginner-friendly, readable, and fast to code.
  • Selenium supports all major browsers and is well-documented.
  • It integrates smoothly with Visual Studio Code (VS Code), my preferred IDE.
  • Perfect for automating functional and regression tests on web apps.

Step 1: Installing Python

First things first, you need to have Python installed on your system. Python is the backbone of our testing scripts.

  • Visit python.org and download the latest version of Python.
  • Follow the installation prompts, ensuring that you check the box “Add Python to PATH” before clicking “Install Now.”
Omax Tech | Blog | Pricing & Billing

Step 2: Installing Selenium

Next, we need to install the Selenium package for Python. Selenium is the library that allows us to control web browsers through Python scripts.

  • 1
    Open your command prompt or terminal.
  • 2
    Run the following command to install Selenium:
Omax Tech | Blog | Pricing & Billing

This will install the Selenium package along with all its dependencies.

Writing the Automation Script

Step 3: Setting Up Visual Studio Code

We prefer using Visual Studio Code (VS Code) as our Integrated Development Environment (IDE). It provides great support for Python and makes automation scripts easy to write and debug.

  • 1
    Download VS Code from here.
  • 2
    Install the Python extension in VS Code to get syntax highlighting, auto-completion, and debugging support for Python.
Omax Tech | Blog | Pricing & Billing

Step 4: Writing the First Automation Script

Now that we have our environment set up, let’s write the first automation script. The objective here is to open a browser, navigate to the login page, and perform actions like entering credentials and clicking buttons.

We’ll also guide you on how to save and run the file.

Steps to Follow:

  • 1
    Open Visual Studio Code.
  • 2
    Create a new file named

test_login.py (You can name it anything, but this name is simple and descriptive.)

Let's Build Something Great Together

Ready to transform your idea into a powerful software solution? Talk to our experts and get a free consultation.

Contact Us

Here’s an example script:

Omax Tech | Blog | Pricing & Billing

In this script:

  • We first initialize the WebDriver.
  • Open the web page https://test.project.com/login/.
  • Locate the username and password fields by their IDs, enter credentials, and submit the form.
  • Finally, we close the browser after 10 seconds.

Step 5: Automating with Selenium IDE in Firefox

While the above script was written manually, We also used Selenium IDE for quick script generation.

  • 1
    Selenium IDE is a browser extension that records your actions in the browser and generates scripts in various languages (including Python).
  • 2
    Unfortunately, Selenium IDE only works in Firefox (Chrome no longer supports it), so I installed the extension in Firefox.
Omax Tech | Blog | Pricing & Billing

To use Selenium IDE:

  • Install the Selenium IDE extension in Firefox from the Firefox Add-ons store.
Omax Tech | Blog | Pricing & Billing
  • Record your interactions on the web page (e.g., logging in, navigating, filling out forms).
Omax Tech | Blog | Pricing & Billing
  • Export the recorded script in Python format.
Omax Tech | Blog | Pricing & Billing

Once exported, We refined the script in VS Code, cleaning up unnecessary code and adding assertions to validate expected results.

Challenges Faced During Automation

1. UI Issues Due to Material UI (MUI)

One of the challenges we encountered while automating tests was dealing with dynamic selectors generated by Material UI (MUI). MUI, being a popular component library, generates dynamic class names and IDs, which makes it difficult to select elements consistently.

For example:

Omax Tech | Blog | Pricing & Billing

These dynamic classes made it hard to reliably select elements using traditional ID or class locators.

💡Solution: To overcome this, We switched to using XPath selectors. XPath is flexible enough to target elements based on their attributes, text, and position in the DOM.

For example:

Omax Tech | Blog | Pricing & Billing

By using XPath, We could locate elements more reliably even when their class names changed.

Conclusion

By using Selenium with Python, We were able to automate the regression testing of the web application effectively. The combination of Visual Studio Code, Selenium IDE, and Python provided us with a powerful, flexible, and efficient environment to automate web tests.

While there were some challenges, particularly with dynamic selectors and Material UI (MUI), these were solved using XPath, and the rest of the testing process went smoothly.

If you are considering using Selenium + Python for your test automation, We highly recommend it. It’s beginner-friendly, well-documented, and powerful enough to handle complex web applications.

Blogs

Discover the latest insights and trends in technology with the Omax Tech Blog.

View All Blogs
Omax Tech | Blog | From ETL to ELT: The Evolution of Data Pipelines in Modern Analytics
12-15 min
October 16, 2026

From ETL to ELT: The Evolution of Data Pipelines in Modern Analytics

How and why data pipeline architecture evolved from ETL to ELT.

Read More
Omax Tech | Blog | Bridge View Hybrid: A Smarter Path to Bringing Web Apps to Mobile
8-10 min
October 06, 2026

Bridge View Hybrid: A Smarter Path to Bringing Web Apps to Mobile

Learn how the Bridge View Hybrid architecture uses a React Native shell and WebView to launch iOS and Android apps faster, cheaper, and with less risk.

Read More
Omax Tech | Blog | 10 AI Prompts Every Manual Tester Should Have in Their QA Toolkit
10-12 min
September 30, 2026

10 AI Prompts Every Manual Tester Should Have in Their QA Toolkit

Discover 10 practical AI prompts manual testers can use to improve test coverage, find edge cases, analyze bugs, strengthen regression testing, and become more effective QA engineers.

Read More
Omax Tech | Blog | The Website Accessibility Revolution: Why You Can't Afford to Ignore WCAG 2.2
8-10 min
September 29, 2026

The Website Accessibility Revolution: Why You Can't Afford to Ignore WCAG 2.2

Website accessibility starts with WCAG 2.2. Learn how accessible design, development, QA, and testing can help create websites that work for everyone.

Read More
Omax Tech | Blog | Race Conditions in Web Applications: Why Correct Code Produces Wrong Results
10-12 min
September 21, 2026

Race Conditions in Web Applications: Why Correct Code Produces Wrong Results

Race conditions silently corrupt data when concurrent requests touch shared state at the wrong time. Learn how atomic updates, transactions, idempotency, and locking keep your application correct under real concurrency.

Read More
Omax Tech | Blog | AI Writes the Code • Stop Blindly Shipping It Without Reviewing the Engineering
8-10 min
September 17, 2026

AI Writes the Code • Stop Blindly Shipping It Without Reviewing the Engineering

A practical perspective on AI-generated code, scalability, maintainability, and engineering judgment and why engineering review still owns the final decision.

Read More
Omax Tech | Blog | Migrating Databases with AWS DMS With Nearly Zero Downtime
10-15 min
September 14, 2026

Migrating Databases with AWS DMS With Nearly Zero Downtime

Learn how to migrate databases using AWS DMS with nearly zero downtime using Full Load, CDC, validation, monitoring, and controlled cutover.

Read More
Omax Tech | Blog | How to Add LiveKit Video Calling to a Next.js App
12-14 min
September 11, 2026

How to Add LiveKit Video Calling to a Next.js App

Add embedded video & audio calling to Next.js with LiveKit Cloud. Compared vs Twilio, Daily, Agora, Zoom — plus token auth, guests & recording.

Read More
Omax Tech | Blog | We chose ECS over EKS: what we gained and what we gave up
8-10 min
September 10, 2026

We chose ECS over EKS: what we gained and what we gave up

An honest comparison of ECS vs EKS the costs, tradeoffs, and real-world reasoning behind choosing ECS for a production platform on AWS.

Read More