Skip to content

End-to-End Quality Assurance test automation framework project for Saucedemo.com with Playwright, Selenium, and Robot Framework. Delivers reliable cross-browser testing, with parallel execution and detailed reporting. Fully integrated CI/CD pipeline using GitHub Actions and Docker to ensure scalable, maintainable, and production-ready.

Notifications You must be signed in to change notification settings

malek-harbaoui/saucedemo-test-automation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

21 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ§ͺ Saucedemo Test Automation

CI Status Playwright Selenium Robot Framework Python Node.js License

Comprehensive test automation suite for Saucedemo.com using three powerful frameworks: Playwright, Selenium WebDriver, and Robot Framework.


πŸ“‹ Table of Contents


✨ Features

  • Multi-Framework Testing: Playwright (JavaScript), Selenium (Python), Robot Framework
  • Cross-Browser Support: Chrome, Firefox, Safari/WebKit
  • CI/CD Integration: Automated testing with GitHub Actions
  • Docker Support: Containerized test environment
  • Parallel Execution: Tests run concurrently across frameworks
  • Comprehensive Reports: HTML reports with screenshots for all frameworks
  • Headless Mode: Optimized for CI/CD environments

πŸ›  Tech Stack

Framework Language Version Purpose
Playwright JavaScript 1.57.0 Modern E2E testing
Selenium Python 4.39.0 Traditional browser automation
Robot Framework Python 7.4.1 Keyword-driven testing
Pytest Python Latest Test runner for Selenium
Node.js - 24.x Runtime for Playwright
Python - 3.12 Runtime for Selenium & Robot

πŸ“ Project Structure

automation-project-saucedemo/
β”œβ”€β”€ .github/
β”‚   └── workflows/
β”‚       └── ci.yml                 # GitHub Actions CI/CD pipeline
β”œβ”€β”€ playwright_tests/              # Playwright test suite
β”‚   β”œβ”€β”€ tests/
β”‚   β”œβ”€β”€ playwright.config.js
β”‚   └── package.json
β”œβ”€β”€ selenium_tests/                # Selenium test suite
β”‚   β”œβ”€β”€ tests/
β”‚   β”œβ”€β”€ data.json
β”‚   └── requirements.txt
β”œβ”€β”€ robot_tests/                   # Robot Framework test suite
β”‚   β”œβ”€β”€ tests/
β”‚   β”œβ”€β”€ resources/
β”‚   β”œβ”€β”€ data/
β”‚   └── requirements.txt
β”œβ”€β”€ Dockerfile                     # Multi-framework container
β”œβ”€β”€ .gitignore
└── README.md

πŸš€ Installation

Prerequisites

  • Node.js 24.x or higher
  • Python 3.12 or higher
  • Git

Clone the Repository

git clone https://github.com/YOUR_USERNAME/saucedemo-test-automation.git
cd saucedemo-test-automation

Setup Playwright

cd playwright_tests
npm install
npx playwright install --with-deps

Setup Selenium

cd selenium_tests
pip install -r requirements.txt

Setup Robot Framework

cd robot_tests
pip install -r requirements.txt

🎯 Usage

Run Playwright Tests

cd playwright_tests
npm test                    # Run all tests
npm run test:headed         # Run in headed mode
npm run report              # View test report

Run Selenium Tests

cd selenium_tests
pytest tests/ -v                                    # Run all tests
pytest tests/ --html=report.html --self-contained-html  # With HTML report

Run Robot Framework Tests

cd robot_tests
robot --variable BROWSER:chrome --outputdir results tests/

πŸ”„ CI/CD Pipeline

The project uses GitHub Actions for automated testing:

  • βœ… Triggers on every push and pull_request
  • βœ… Runs tests in parallel across 3 frameworks
  • βœ… Tests on multiple browsers (Chrome, Firefox, WebKit)
  • βœ… Generates and uploads test reports as artifacts
  • βœ… Provides detailed test summaries

View the pipeline: .github/workflows/ci.yml


🐳 Docker Support

Build the Docker Image

docker build -t saucedemo-tests .

Run Tests in Container

# Run all tests
docker run --rm saucedemo-tests

# Run specific framework
docker run --rm saucedemo-tests run-playwright
docker run --rm saucedemo-tests run-selenium
docker run --rm saucedemo-tests run-robot

# Interactive mode
docker run --rm -it saucedemo-tests /bin/bash

πŸ“Š Test Reports

Test reports are automatically generated and available as GitHub Actions artifacts:

  • Playwright: HTML report with traces and screenshots
  • Selenium: Pytest HTML report
  • Robot Framework: Log, report, and output XML files

Reports are retained for 30 days after each test run.


🀝 Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ‘€ Author

Malek Harbaoui


πŸ™ Acknowledgments


Made with ❀️ by Malek Harbaoui

⭐ Star this repo if you find it useful!

About

End-to-End Quality Assurance test automation framework project for Saucedemo.com with Playwright, Selenium, and Robot Framework. Delivers reliable cross-browser testing, with parallel execution and detailed reporting. Fully integrated CI/CD pipeline using GitHub Actions and Docker to ensure scalable, maintainable, and production-ready.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5