An open API service indexing awesome lists of open source software.

https://github.com/osama2262/farfetch

This repository contains an ๐—ฎ๐˜‚๐˜๐—ผ๐—บ๐—ฎ๐˜๐—ฒ๐—ฑ ๐˜๐—ฒ๐˜€๐˜๐—ถ๐—ป๐—ด ๐—ณ๐—ฟ๐—ฎ๐—บ๐—ฒ๐˜„๐—ผ๐—ฟ๐—ธ built using ๐—ฃ๐—น๐—ฎ๐˜†๐˜„๐—ฟ๐—ถ๐—ด๐—ต๐˜, tailored for Farfetch, a leading luxury e-commerce platform. The framework ensures high-quality user experiences by automating end-to-end tests for seamless shopping workflows.
https://github.com/osama2262/farfetch

automation farfetch playwright pom practice-project software-testing test test-automation testing

Last synced: about 1 year ago
JSON representation

This repository contains an ๐—ฎ๐˜‚๐˜๐—ผ๐—บ๐—ฎ๐˜๐—ฒ๐—ฑ ๐˜๐—ฒ๐˜€๐˜๐—ถ๐—ป๐—ด ๐—ณ๐—ฟ๐—ฎ๐—บ๐—ฒ๐˜„๐—ผ๐—ฟ๐—ธ built using ๐—ฃ๐—น๐—ฎ๐˜†๐˜„๐—ฟ๐—ถ๐—ด๐—ต๐˜, tailored for Farfetch, a leading luxury e-commerce platform. The framework ensures high-quality user experiences by automating end-to-end tests for seamless shopping workflows.

Awesome Lists containing this project

README

          

# Farfetch E-Commerce Automation Testing Suite ๐Ÿš€

[![Playwright](https://img.shields.io/badge/Playwright-1.42.1-blue?logo=playwright)](https://playwright.dev/)
[![JavaScript](https://img.shields.io/badge/JavaScript-ES6+-yellow?logo=javascript)](https://developer.mozilla.org/en-US/docs/Web/JavaScript)

**Professional automation testing framework for Farfetch's luxury e-commerce platform**
*Ensuring flawless user experiences in high-end fashion e-commerce*

## ๐ŸŒŸ Key Features
- **Real-world scenario testing** on production environment
- **Anti-bot bypass** implementation using stealth techniques
- **Cross-browser testing** (Chromium, Firefox, WebKit)
- **Stateful sessions** with storage state management
- **CI/CD ready** with GitHub Actions integration

## ๐Ÿ“Œ ๐˜›๐˜ฆ๐˜ด๐˜ต ๐˜Š๐˜ข๐˜ด๐˜ฆ๐˜ด ๐˜ˆ๐˜ถ๐˜ต๐˜ฐ๐˜ฎ๐˜ข๐˜ต๐˜ฆ๐˜ฅ:

1๏ธโƒฃ ๐—Ÿ๐—ผ๐—ด๐—ถ๐—ป: The user can successfully log in with valid credentials.

2๏ธโƒฃ ๐—”๐—ฑ๐—ฑ ๐˜๐—ผ ๐—–๐—ฎ๐—ฟ๐˜: Added random items to the cart.

3๏ธโƒฃ ๐—–๐—ต๐—ฎ๐—ป๐—ด๐—ฒ ๐—œ๐˜๐—ฒ๐—บ ๐—ฆ๐—ถ๐˜‡๐—ฒ: Tested changing the item size from the cart.

4๏ธโƒฃ ๐—–๐—ต๐—ฎ๐—ป๐—ด๐—ฒ ๐—œ๐˜๐—ฒ๐—บ ๐—ค๐˜‚๐—ฎ๐—ป๐˜๐—ถ๐˜๐˜†: Validated the ability to change the quantity of an item in the cart.

5๏ธโƒฃ ๐—ฅ๐—ฒ๐—บ๐—ผ๐˜ƒ๐—ฒ ๐—œ๐˜๐—ฒ๐—บ๐˜€ ๐—ณ๐—ฟ๐—ผ๐—บ ๐˜๐—ต๐—ฒ ๐—–๐—ฎ๐—ฟ๐˜: Ensured that users can remove all items from the cart.

6๏ธโƒฃ ๐—”๐—ฑ๐—ฑ ๐˜๐—ผ ๐—ช๐—ถ๐˜€๐—ต๐—น๐—ถ๐˜€๐˜: Verified adding items to the wishlist.

7๏ธโƒฃ ๐—ฅ๐—ฒ๐—บ๐—ผ๐˜ƒ๐—ฒ ๐—œ๐˜๐—ฒ๐—บ๐˜€ ๐—ณ๐—ฟ๐—ผ๐—บ ๐˜๐—ต๐—ฒ ๐—ช๐—ถ๐˜€๐—ต๐—น๐—ถ๐˜€๐˜: Ensured that users can remove all items from the wishlist.

## ๐Ÿ› ๏ธ Tech Stack
**Core Technologies**
| ![Playwright](https://img.shields.io/badge/-Playwright-2E3440?logo=playwright) | ![JavaScript](https://img.shields.io/badge/-JavaScript-F7DF1E?logo=javascript) | ![POM](https://img.shields.io/badge/-POM%20Pattern-4B32C3) |
|-------------------------------------------------------------------------------|------------------------------------------------------------------------------|----------------------------------------------------------|

**Supporting Tools**
- **Faker-js**: Dynamic test data generation
- **Stealth Playwright**: Anti-detection mechanisms
- **Allure Reports**: Comprehensive test reporting
- **Dotenv**: Environment configuration

## ๐Ÿงช Automated Test Scenarios
| Flow | Description | Complexity Level |
|---------------------|----------------------------------------------|------------------|
| **User Auth** | Valid/invalid login scenarios | โญโญ |
| **Cart Management** | Add/remove items, quantity/size changes | โญโญโญโญ |
| **Wishlist Flow** | Add/remove from wishlist | โญโญโญ |
| **Session State** | Persistent user state management | โญโญโญโญ |

## ๐Ÿš€ Getting Started

### Prerequisites
- Node.js โ‰ฅ 16.x
- npm โ‰ฅ 9.x
- Git

### Installation
```bash
git clone https://github.com/Osama2262/Farfetch.git
cd Farfetch/tests
npm install