Skip to content

Commit 28acbb0

Browse files
authored
Update README.md
1 parent 160e9c1 commit 28acbb0

1 file changed

Lines changed: 82 additions & 66 deletions

File tree

README.md

Lines changed: 82 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -15,55 +15,57 @@ This is a **production-style hybrid automation framework** built using Playwrigh
1515

1616
It demonstrates a **modern QA strategy** where:
1717

18-
- API is used for **fast test setup**
19-
- UI is used for **end-to-end validation**
20-
- BDD is used for **business-readable scenarios**
18+
* API is used for **fast test setup**
19+
* UI is used for **end-to-end validation**
20+
* BDD is used for **business-readable scenarios**
2121

2222
👉 Designed to reflect how real-world QA teams build **scalable and reliable automation systems**
2323

2424
---
2525

2626
## ⚡ Key Highlights
2727

28-
- Hybrid testing (**API + UI validation**)
29-
- Clean **Page Object Model (POM)** architecture
30-
- Dedicated **API client layer** (Auth, Orders)
31-
- Reusable **workflow layer for E2E setup**
32-
- **BDD implementation** using pytest-bdd
33-
- Secure credential handling (**.env + GitHub Secrets**)
34-
- Automatic **failure screenshots**
35-
- **Allure reporting** with readable steps
36-
- **CI/CD pipeline** with GitHub Actions
37-
- Retry mechanism for flaky network/API calls
28+
* Hybrid testing (**API + UI validation**)
29+
* Clean **Page Object Model (POM)** architecture
30+
* Dedicated **API client layer** (Auth, Orders, Products)
31+
* Reusable **workflow layer for E2E setup**
32+
* **BDD implementation** using pytest-bdd
33+
* Secure credential handling (**.env + GitHub Secrets**)
34+
* Automatic **failure screenshots**
35+
* **Allure reporting** with readable steps
36+
* **CI/CD pipeline** with GitHub Actions
37+
* Retry mechanism for flaky network/API calls
3838

3939
---
4040

4141
## 🛠 Tech Stack
4242

43-
- Python 3.12
44-
- Playwright (UI + API)
45-
- Pytest
46-
- pytest-bdd
47-
- Allure Reports
48-
- GitHub Actions
43+
* Python 3.12
44+
* Playwright (UI + API)
45+
* Pytest
46+
* pytest-bdd
47+
* Allure Reports
48+
* GitHub Actions
4949

5050
---
5151

5252
## 🧠 Architecture Approach
5353

5454
The framework follows **separation of concerns**:
5555

56-
- `pages/` → UI interactions (POM)
57-
- `api/` → Backend API layer
58-
- `workflows/` → Hybrid orchestration logic
59-
- `tests/` → UI, API, and E2E tests
60-
- `features/` → BDD scenarios
56+
* `pages/` → UI interactions (POM)
57+
* `api/` → Backend API layer
58+
* `workflows/` → Hybrid orchestration logic
59+
* `tests/` → UI, API, and E2E tests
60+
* `features/` → BDD scenarios
6161

6262
👉 Result: **clean, maintainable, scalable automation design**
6363

6464
---
6565

6666
## 📁 Project Structure
67+
68+
```text
6769
.
6870
├── api/
6971
│ ├── assertions.py # API response validations
@@ -136,7 +138,7 @@ The framework follows **separation of concerns**:
136138
├── requirements.txt # Dependencies
137139
├── README.md
138140
├── .gitignore
139-
141+
```
140142

141143
---
142144

@@ -147,23 +149,27 @@ python3 -m venv .venv
147149
source .venv/bin/activate
148150
pip install -r requirements.txt
149151
playwright install
152+
```
150153

151154
---
152155

153-
🔐 Environment Setup
156+
## 🔐 Environment Setup
154157

155-
Create a .env file in the root:
158+
Create a `.env` file in the root:
156159

160+
```
157161
TEST_EMAIL=your-email@example.com
158162
TEST_PASSWORD=your-password
163+
```
159164

160-
.env is not committed for security
161-
GitHub CI uses repository secrets
165+
* `.env` is **not committed** for security
166+
* GitHub CI uses **repository secrets**
162167

163168
---
164169

165-
▶️ Running Tests
170+
## ▶️ Running Tests
166171

172+
```bash
167173
pytest
168174
pytest --env=qa
169175
pytest -m api
@@ -172,96 +178,106 @@ pytest -m e2e
172178
pytest -m bdd
173179
pytest --browser_name=firefox
174180
pytest --headed
181+
```
175182

176183
---
177184

178-
🔁 BDD Coverage
185+
## 🔁 BDD Coverage
179186

180187
BDD scenarios validate business flows such as:
181188

182-
Login
183-
Add to cart
184-
Checkout
185-
API order creation
186-
API-created order visible in UI
187-
Order history validation
189+
* Login
190+
* Add to cart
191+
* Checkout
192+
* API order creation
193+
* API-created order visible in UI
194+
* Order history validation
188195

189196
Example:
197+
198+
```gherkin
190199
Feature: Login
191200
192201
Scenario: User logs in with valid credentials
193202
Given login user is on the login page
194203
When login user logs in with valid credentials
195204
Then login user should see the products page
205+
```
196206

197207
---
198208

199-
🔄 CI/CD Pipeline
200-
Runs on every push & pull request
201-
Executes full test suite
202-
Uses secure GitHub Secrets
209+
## 🔄 CI/CD Pipeline
210+
211+
* Runs on every push & pull request
212+
* Executes full test suite
213+
* Uses secure GitHub Secrets
214+
203215
Uploads:
204-
Allure results
205-
Failure screenshots
216+
217+
* Allure results
218+
* Failure screenshots
219+
206220
Includes retry for flaky tests
207221

208222
---
209223

210-
📊 Reporting
224+
## 📊 Reporting
211225

212226
Allure report provides:
213227

214-
Feature-based grouping
215-
Step-level execution logs
216-
Business-readable test flows
228+
* Feature-based grouping
229+
* Step-level execution logs
230+
* Business-readable test flows
217231

218232
To generate locally:
219233

234+
```bash
220235
pytest --alluredir=allure-results
221236
allure serve allure-results
237+
```
222238

223239
---
224240

225-
🔥 Flagship Hybrid Flow
241+
## 🔥 Flagship Hybrid Flow
226242

227243
This project demonstrates a real-world high-value scenario:
228244

229-
Generate login token via API
230-
Create order via API
231-
Login via UI
232-
Navigate to order history
233-
Validate API-created order in UI
245+
1. Generate login token via API
246+
2. Create order via API
247+
3. Login via UI
248+
4. Navigate to order history
249+
5. Validate API-created order in UI
234250

235251
👉 Reduces UI dependency and speeds up E2E testing significantly
236252

237253
---
238254

239-
🤖 AI-Assisted Development
255+
## 🤖 AI-Assisted Development
240256

241-
This framework leverages tools like Codex and Claude to enhance productivity:
257+
This framework leverages tools like **Codex and Claude** to enhance productivity:
242258

243-
Accelerated framework setup and refactoring
244-
Improved code quality and structure
245-
Faster debugging and issue resolution
259+
* Accelerated framework setup and refactoring
260+
* Improved code quality and structure
261+
* Faster debugging and issue resolution
246262

247-
👉 AI was used as a productivity accelerator, while all architecture, validation logic, and QA decisions were designed and verified manually
263+
👉 AI was used as a **productivity accelerator**, while all architecture, validation logic, and QA decisions were **designed and verified manually**
248264

249265
---
250266

251-
💼 Why This Project Matters
267+
## 💼 Why This Project Matters
252268

253269
This project showcases:
254270

255-
Real-world QA automation architecture
256-
Hybrid testing strategy (API + UI)
257-
Scalable and maintainable design
258-
CI/CD readiness
259-
Strong QA engineering practices
271+
* Real-world QA automation architecture
272+
* Hybrid testing strategy (API + UI)
273+
* Scalable and maintainable design
274+
* CI/CD readiness
275+
* Strong QA engineering practices
260276

261277
👉 Built to reflect skills directly applicable to production environments and client projects
262278

263279
---
264280

265-
📬 Contact
281+
## 📬 Contact
266282

267283
If you're interested in collaborating or discussing QA automation opportunities, feel free to connect.

0 commit comments

Comments
 (0)