Skip to content

Commit a20ed01

Browse files
Revise README for clarity and additional details
Updated README to enhance project overview and features.
1 parent 8a56521 commit a20ed01

File tree

1 file changed

+92
-0
lines changed

1 file changed

+92
-0
lines changed

README.md

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,32 +6,124 @@
66
<img src="https://img.shields.io/badge/NUnit-Test_Framework-red?style=for-the-badge"/>
77
<img src="https://img.shields.io/badge/License-MIT-lightgrey?style=for-the-badge"/>
88
</p>
9+
![.NET 8](https://img.shields.io/badge/.NET-8.0-blue?logo=dotnet)
10+
![Playwright](https://img.shields.io/badge/Playwright-%2300b300.svg?logo=playwright&logoColor=white)
11+
![C#](https://img.shields.io/badge/C%23-239120.svg?logo=csharp&logoColor=white)
12+
![NUnit](https://img.shields.io/badge/NUnit-262B2F.svg?logo=nunit&logoColor=green)
13+
![Test Framework](https://img.shields.io/badge/Test_Framework-Playwright%2FNUnit-orange)
14+
![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)
15+
16+
[![CI](https://github.com/rustampulatov8/QA_Automation_Framework_Playwright/actions/workflows/dotnet-playwright.yml/badge.svg)](https://github.com/rustampulatov8/QA_Automation_Framework_Playwright/actions)
17+
18+
---
19+
20+
## 🧭 Overview
21+
This project is an **end-to-end automation framework** built with **Playwright**, **C#**, and **NUnit**, designed to validate both **UI** and **API** workflows for a sample **e-commerce checkout flow**.
22+
23+
It reflects production-ready automation structure, suitable for enterprise QA environments, and integrates seamlessly into **CI/CD pipelines (GitHub Actions, Azure DevOps, TeamCity)**.
24+
25+
---
26+
27+
## 🧩 Features & Highlights
28+
29+
**Page Object Model (POM)** – scalable design separating UI logic from test logic
30+
**Reusable Components** – for browser and session management
31+
**HTML Reporting** – with ExtentReports integration
32+
**Automatic Screenshots** – captured on failure
33+
**CI/CD-Ready** – runs Playwright tests headless in GitHub Actions
34+
**API Testing** – using Playwright APIRequest and NUnit assertions
35+
**Cross-Browser Support** – Chrome, Edge, Firefox
36+
**Data-Driven Testing** – via NUnit TestCaseSource
37+
**Error Recovery** – retry logic and intelligent wait handling
938

39+
---
40+
## 🧱 Project Structure
41+
```
42+
QA_Automation_Framework_Playwright/
43+
├── Pages/ # Page Object classes (Home, Cart, Product)
44+
├── Tests/ # NUnit test suites (Cart, Checkout, API)
45+
├── Utilities/ # BrowserFactory, TestDataHelper, helpers
46+
├── .editorconfig # Code style conventions
47+
├── .gitignore # Ignored build/test artifacts
48+
├── QA_Automation_Framework_Playwright.csproj
49+
├── dotnet-playwright.yml # CI/CD workflow for GitHub Actions
50+
└── README.md
51+
```
1052
---
1153
[![.NET Build & Tests](https://github.com/rustampulatov8/QA_Automation_Framework_Playwright/actions/workflows/dotnet-playwright.yml/badge.svg)](https://github.com/rustampulatov8/QA_Automation_Framework_Playwright/actions)
1254
![GitHub last commit](https://img.shields.io/github/last-commit/rustampulatov8/QA_Automation_Framework_Playwright)
1355
![GitHub stars](https://img.shields.io/github/stars/rustampulatov8/QA_Automation_Framework_Playwright?style=social)
1456
![License: MIT](https://img.shields.io/badge/License-MIT-lightgrey)
1557

58+
## ⚙️ How to Run Locally
1659

1760
## 📖 Overview
61+
1️⃣ Clone the repo
62+
```
63+
git clone https://github.com/rustampulatov8/QA_Automation_Framework_Playwright.git
64+
cd QA_Automation_Framework_Playwright
65+
```
66+
2️⃣ Install dependencies
67+
```
68+
dotnet restore
69+
```
70+
3️⃣ Install Playwright browsers
71+
```
72+
npx playwright install --with-deps
73+
```
74+
4️⃣ Run tests
75+
```
76+
dotnet test
77+
```
1878

1979
End-to-end automation framework built with **Playwright**, **C#**, and **NUnit**
2080
for validating UI and integration workflows in a sample **e-commerce checkout flow**.
81+
---
82+
🧠 Skills Demonstrated
83+
84+
Automation Framework Design: Page Object Model & reusable architecture
85+
86+
Playwright Automation: Advanced waits, selectors, dialog handling
87+
88+
Continuous Integration: GitHub Actions workflow for .NET & Playwright
89+
90+
API Testing: HTTP request validation using Playwright API Context
91+
92+
Cross-Functional QA: End-to-end testing of web and backend flows
2193

2294
This framework demonstrates:
2395
-**Page Object Model** design for scalability
2496
-**Reusable components** for browser/session management
2597
-**HTML reports** with ExtentReports
2698
-**Automatic screenshots** on failure
2799
-**CI/CD-ready structure** (compatible with Azure DevOps, GitHub Actions, or TeamCity)
100+
Reporting & Debugging: ExtentReports and screenshots on failures
28101

29102
---
103+
📊 CI/CD Integration
30104

31105
## ⚙️ How to Run
106+
The .github/workflows/dotnet-playwright.yml pipeline runs automatically on every push or PR to the main branch.
32107

33108
```bash
34109
dotnet restore
35110
playwright install
36111
dotnet test
112+
```
113+
It performs:
114+
115+
✅ Restore & build project
116+
117+
✅ Install Playwright browsers (headless)
118+
119+
✅ Run NUnit Playwright tests
120+
121+
✅ Upload test results (TRX or HTML) as artifacts
122+
123+
---
124+
📄 License:
125+
This project is released under the MIT License.
37126

127+
👨‍💻 Author:
128+
Rustam Pulatov
129+
💼 Senior QA Automation Engineer | C# | Playwright | NUnit | CI/CD | API Testing

0 commit comments

Comments
 (0)