@@ -15,55 +15,57 @@ This is a **production-style hybrid automation framework** built using Playwrigh
1515
1616It 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
5454The 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
147149source .venv/bin/activate
148150pip install -r requirements.txt
149151playwright 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+ ```
157161TEST_EMAIL=your-email@example.com
158162TEST_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
167173pytest
168174pytest --env=qa
169175pytest -m api
@@ -172,96 +178,106 @@ pytest -m e2e
172178pytest -m bdd
173179pytest --browser_name=firefox
174180pytest --headed
181+ ```
175182
176183---
177184
178- 🔁 BDD Coverage
185+ ## 🔁 BDD Coverage
179186
180187BDD 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
189196Example:
197+
198+ ``` gherkin
190199Feature: 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+
203215Uploads:
204- Allure results
205- Failure screenshots
216+
217+ * Allure results
218+ * Failure screenshots
219+
206220Includes retry for flaky tests
207221
208222---
209223
210- 📊 Reporting
224+ ## 📊 Reporting
211225
212226Allure 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
218232To generate locally:
219233
234+ ``` bash
220235pytest --alluredir=allure-results
221236allure serve allure-results
237+ ```
222238
223239---
224240
225- 🔥 Flagship Hybrid Flow
241+ ## 🔥 Flagship Hybrid Flow
226242
227243This 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
253269This 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
267283If you're interested in collaborating or discussing QA automation opportunities, feel free to connect.
0 commit comments