Skip to content

devbartverma/test-automation-portfolio-devbrat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

38 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Test Automation Portfolio – Devbrat Verma

TypeScript (Playwright Test) Python (pytest) Java (JUnit 5 + Spock) .NET (NUnit) .NET (Reqnroll)

🎭 One engine, five stacks β€” every suite is built on Playwright.

A multi-language Playwright automation portfolio demonstrating Page Object Model design, both UI and API layers, parallel-safe execution, failure artifacts, and a GitHub Actions CI pipeline β€” across TypeScript, C# (.NET 8 β€” NUnit and Reqnroll BDD), Java (Groovy/Spock), and Python.

Every stack runs the same 18 tests (15 UI + 3 API) so the five suites are directly comparable.


πŸ› οΈ Frameworks

Language Location Test Runner UI API Test details
TypeScript /js-ts-automation Playwright Test 15 3 README
C# / .NET 8 /dotnet-automation NUnit 15 3 README
C# / .NET 8 (BDD) /reqnroll-automation Reqnroll + NUnit 15 3 README
Java + Groovy /java-automation JUnit 5 + Spock 15 3 README
Python /python-automation pytest 15 3 README

Each suite covers the same 15 UI scenarios (SauceDemo) plus 3 API contract tests (JSONPlaceholder), with a consistent Page Object structure (pages / data / tests).

πŸ“– For a per-test breakdown β€” exactly what each test does and what it asserts β€” see the respective folder's README (linked above). Each one documents all 15 cases grouped by Authentication / Inventory / Cart / Checkout.


🎯 Target Application


▢️ Running the Tests

cd into the folder first. PWDEBUG=1 opens the Playwright Inspector (step through, pauses) and works in every stack.

TypeScript β€” js-ts-automation

npm install && npx playwright install     # one-time
npm test                                   # all (UI cross-browser + API)
npx playwright test --headed               # headed
npx playwright test --debug                # debug (Inspector)
npx playwright test --ui                   # UI mode β€” time-travel & watch
npx playwright show-report                 # open the HTML report

C# / .NET β€” dotnet-automation

dotnet test                                # all (headless)
HEADED=1 dotnet test                       # headed
PWDEBUG=1 dotnet test                      # debug (Inspector)
dotnet test --filter "Name~Checkout"       # run a subset
dotnet test --logger "trx;LogFileName=results.trx"   # TRX report

C# / Reqnroll BDD β€” reqnroll-automation

dotnet build
pwsh bin/Debug/net8.0/playwright.ps1 install chromium   # one-time
dotnet test                                # all Gherkin scenarios (headless)
HEADED=1 dotnet test                       # headed
PWDEBUG=1 dotnet test                      # debug (Inspector)
dotnet test --filter "FullyQualifiedName~Checkout"   # a subset

Java β€” java-automation (requires Maven)

mvn test                                   # all (headless)
HEADLESS=false mvn test                    # headed
PWDEBUG=1 mvn test                         # debug (Inspector)
mvn test -Dtest=ApiSpec                    # just the Spock API spec
mvn surefire-report:report                 # β†’ target/site/surefire-report.html

Python β€” python-automation

python -m venv venv && source venv/bin/activate        # one-time
pip install -r requirements.txt && playwright install  # one-time
pytest                                     # all (headless)
pytest --headed --slowmo 500               # headed + slowed down
PWDEBUG=1 pytest                           # debug (Inspector)
pytest -n auto                             # parallel (xdist)
pytest --html=report.html --self-contained-html        # report (pip install pytest-html)

Headless is the default in every stack. Headed toggles: --headed (TS / Python), HEADED=1 (both C# suites), HEADLESS=false (Java). Debug anywhere with PWDEBUG=1 (opens the Playwright Inspector). Failure artifacts land in each suite's report / screenshots/ (target/screenshots/ for Java).


βœ… Test Coverage (identical across all 5 suites)

UI β€” SauceDemo (15)

  • Authentication (4) β€” valid login, locked-out user + error icon, invalid credentials, logout & route protection
  • Inventory (4) β€” product count, sort by price, sort by name, product detail page
  • Cart (3) β€” items shown with correct names, remove updates count, cart persists across navigation
  • Checkout (4) β€” field validation, subtotal accuracy, price math (subtotal + tax = total), full end-to-end flow

API β€” JSONPlaceholder (3)

  • GET single resource β€” status + schema/contract assertions, data-driven over several ids
  • GET collection β€” status + full-collection size
  • POST resource β€” 201, payload echo, and a generated numeric id

⚑ Engineering Practices

  • CI/CD β€” GitHub Actions runs all five suites on every push/PR (see the badges above); failure artifacts are uploaded per job
  • Two test layers β€” UI (Playwright) and API/contract (Playwright APIRequest / requests), so checks live at the cheapest reliable level
  • Parallel-safe by design β€” TypeScript fullyParallel; Python isolates a browser per test (runs under pytest -n auto); Java uses a ThreadLocal factory; .NET PageTest gives each test its own context
  • Failure artifacts everywhere β€” trace + screenshot + video (TS) and screenshot-on-failure hooks (Python / Java / .NET)
  • Genuinely data-driven β€” parameterized tests (@TestCase, @pytest.mark.parametrize, Spock where:, TS loop), not just centralized constants
  • Real BDD β€” Reqnroll Gherkin features (with step-by-step logging) and the Java Spock API spec use true given/when/then
  • Page Object Model + centralized test data across all 5 suites
  • Resilient locators (data-test) with auto-waiting β€” no hard sleeps
  • Financial assertion β€” subtotal + tax = total verified in every UI suite

πŸ‘¨β€πŸ’» Author

Devbrat Verma β€” Senior QA Automation Engineer
GitHub

πŸŽ“ Oracle Cloud Infrastructure 2025 Certified Generative AI Professional β€” view credential


πŸ“„ License

MIT

About

Test automation portfolio featuring enterprise-grade frameworks built with Playwright, Cypress(WIP), SpecFlow, Reqnroll, Serenity BDD, TypeScript, C#, Java, and Groovy, demonstrating scalable QA automation and quality engineering best practices.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors