Building a Login Test Automation Framework with Selenium & Azure DevOps

Published on: April 21, 2026

In this project, I built an end-to-end test automation framework to validate the login functionality of a web application. The goal was to simulate a real-world QA workflow by combining manual testing, automation, version control, and CI/CD practices.

Project Overview

The application under test was a sample login page. The objective was to validate both positive and negative login scenarios using automation.

Test Scenarios Covered:

  • Valid login with correct credentials
  • Invalid login with incorrect username/password
  • Error message validation

Tools & Technologies Used

  • Python – Used to write automation scripts
  • Selenium WebDriver – Used to automate browser interactions
  • Pytest – Used as the test runner to execute test cases
  • Azure DevOps – Used for test case management and CI pipeline
  • Git & GitHub – Used for version control and code hosting

Framework Design

The automation framework was designed using the Page Object Model (POM) to improve code maintainability and reusability. This structure separates test logic from UI element locators.

Example Flow:

Open Login Page  
Enter Username & Password  
Click Login  
Validate Success/Error Message  
            

CI/CD with Azure Pipelines

The project was integrated with Azure Pipelines to enable Continuous Integration (CI). The pipeline automatically runs whenever code is pushed to the repository.

Pipeline Workflow:

  • Fetch code from GitHub repository
  • Install Python dependencies
  • Execute Selenium tests using Pytest
  • Generate test results (JUnit XML)
  • Generate HTML test report
  • Publish test results and reports

Pipeline YAML (Simplified):

trigger:
- main

steps:
- install dependencies
- run tests
- publish results
            

Test Execution & Reporting

Test execution is handled by Pytest, which provides clear pass/fail results. Additionally, an HTML report is generated after execution to provide a visual summary of test results.

Sample Output:

The following screenshot shows the HTML test report generated after execution:

Test Report

Key Learnings

  • Understanding end-to-end QA workflow from test design to automation
  • Implementing Page Object Model for scalable automation
  • Using Git for version control and managing code changes
  • Integrating CI pipelines using Azure DevOps
  • Generating and interpreting test reports

Access GitHub project