nopcommerce-qa-mcp
by Omar-Aljerbi
README.md
# ๐งช nopCommerce QA Automation + MCP
A professional **QA Automation project** built with **Playwright, TypeScript, Node.js, and Model Context Protocol (MCP)** to automate end-to-end testing and provide structured QA reports, test history, failure analysis, and dashboards.
## ๐ Project Overview
This project combines Playwright automation with an MCP server that allows QA tests to be executed and analyzed through dedicated automation tools.
### Architecture
```text
QA Engineer
โ
โผ
MCP Inspector
โ
โผ
MCP Server
โ
โโโ Run Tests
โโโ Test Summary
โโโ Test Details
โโโ QA Report
โโโ Test History
โโโ Failure Analysis
โโโ QA Dashboard
โ
โผ
Playwright
โ
โผ
nopCommerce
```
## ๐ ๏ธ Tech Stack
* **Playwright**
* **TypeScript**
* **Node.js**
* **MCP (Model Context Protocol)**
* **MCP Inspector**
* **JSON Test Reporting**
* **GitHub Actions**
* **End-to-End Testing**
## ๐งช Automated Tests
The project currently contains **7 automated Playwright tests**:
| # | Test | Status |
| - | --------------------------------------- | -------- |
| 1 | Update product quantity in cart | โ
Passed |
| 2 | Complete checkout after login | โ
Passed |
| 3 | nopCommerce homepage loads successfully | โ
Passed |
| 4 | Invalid login credentials | โ
Passed |
| 5 | Customer logout | โ
Passed |
| 6 | Add product to cart | โ
Passed |
| 7 | Remove product from cart | โ
Passed |
## ๐ค MCP QA Tools
The MCP server provides dedicated tools for interacting with the Playwright test suite:
* `run_tests` โ Run the complete Playwright test suite
* `test_summary` โ Display test names and statuses
* `test_details` โ Display detailed information for a test
* `qa_report` โ Generate a complete QA automation report
* `test_history` โ Track previous test executions
* `failure_analysis` โ Analyze failed and timed-out tests
* `qa_dashboard` โ Display the latest QA dashboard
* `run_test` โ Run a specific Playwright test
* `list_tests` โ List available automated tests
* `run_all_and_dashboard` โ Execute all tests and generate a dashboard
* `run_failed_tests` โ Re-run failed tests
* `compare_test_runs` โ Compare recorded test executions
## ๐ Latest Test Results
```text
QA AUTOMATION DASHBOARD
Total Tests: 7
Passed: 7
Failed: 0
Skipped: 0
Flaky: 0
Pass Rate: 100%
Status: ALL TESTS PASSED
Execution Time: ~50 seconds
```
## ๐ Project Structure
```text
nopcommerce-qa-mcp/
โ
โโโ .github/
โ โโโ workflows/
โ โโโ playwright.yml
โ
โโโ mcp/
โ โโโ server.ts
โ
โโโ tests/
โ โโโ cart.spec.ts
โ โโโ checkout.spec.ts
โ โโโ example.spec.ts
โ โโโ login.spec.ts
โ โโโ logout.spec.ts
โ โโโ products.spec.ts
โ โโโ remove-from-cart.spec.ts
โ
โโโ playwright.config.ts
โโโ package.json
โโโ package-lock.json
โโโ tsconfig.json
โโโ .gitignore
```
## โถ๏ธ Run the Tests
Install dependencies:
```bash
npm install
```
Run all Playwright tests:
```bash
npx playwright test
```
Run tests with the line reporter:
```bash
npx playwright test --reporter=line
```
Run TypeScript validation:
```bash
npx tsc --noEmit
```
## ๐ Test Reporting
Playwright generates a JSON test report used by the MCP server for test analysis and dashboards.
The report contains:
* Test names
* Test files
* Pass/Fail status
* Execution duration
* Test output
* Errors
* Test execution timestamps
Generated test results are intentionally excluded from Git using `.gitignore`.
## ๐ CI/CD
The project includes a **GitHub Actions workflow** for Playwright testing.
```text
GitHub Push
โ
โผ
GitHub Actions
โ
โผ
Install Dependencies
โ
โผ
Run Playwright Tests
โ
โผ
Test Results
```
## ๐ฏ QA Capabilities
This project demonstrates practical experience with:
* End-to-End Testing
* UI Automation
* Test Automation Architecture
* Test Reporting
* Test Result Analysis
* Failure Analysis
* Test History Tracking
* Automated Regression Testing
* CI/CD Testing
* MCP-based QA tooling
## ๐ Security
The project excludes sensitive and generated files such as:
```text
node_modules/
test-results/
playwright-report/
.env
nopCommerce-develop/
```
## ๐จโ๐ป Author
**Omar Aljerbi**
QA Automation Engineer | Cloud & Automation
GitHub:
https://github.com/Omar-Aljerbi
---
โญ If you find this project useful, feel free to explore the repository.
This server cannot be deployed
Maintenance
ActivitySlowing
ResponsivenessNo issues