Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/antonyga/casa_del_libro_e2e_test_project

End to end Test Automation Project for https://www.casadellibro.com/
https://github.com/antonyga/casa_del_libro_e2e_test_project

e2e-tests playwright test-automation typescript

Last synced: 2 days ago
JSON representation

End to end Test Automation Project for https://www.casadellibro.com/

Awesome Lists containing this project

README

        

# Casa del Libro E2E Test Automation
๐Ÿšง๐Ÿšงโš ๏ธโš ๏ธ๐Ÿ‘ท PROJECT UNDER CONSTRUCTION ๐Ÿ‘ทโš ๏ธโš ๏ธ๐Ÿšง๐Ÿšง

End-to-end test automation project for Casa del Libro (www.casadellibro.com) using Playwright and TypeScript. This project contains automated tests covering the main functionalities of the e-commerce platform.

## Technologies Used

- [Playwright](https://playwright.dev/) - Modern automation testing framework
- TypeScript - Programming language
- Node.js - Runtime environment

## Prerequisites

- Node.js (v14 or higher)
- npm (Node Package Manager)

## Installation

1. Clone the repository:
```bash
git clone [https://github.com/antonyga/casa_del_libro_e2e_Test_Project.git]
```

2. Install dependencies:
```bash
npm install
```

## Project Structure

```
โ”œโ”€โ”€ tests/
โ”‚ โ”œโ”€โ”€ e2e/
โ”‚ โ”‚ โ”œโ”€โ”€ account-management/
โ”‚ โ”‚ โ”œโ”€โ”€ book-searching/
โ”‚ โ”‚ โ”œโ”€โ”€ book-details/
โ”‚ โ”‚ โ”œโ”€โ”€ shopping-cart/
โ”‚ โ”‚ โ””โ”€โ”€ bookstores/
โ”‚ โ””โ”€โ”€ fixtures/
โ”‚ โ””โ”€โ”€ test-data.ts
โ”œโ”€โ”€ page-objects/
โ”‚ โ”œโ”€โ”€ HomePage.ts
โ”‚ โ”œโ”€โ”€ SearchPage.ts
โ”‚ โ”œโ”€โ”€ CartPage.ts
โ”‚ โ””โ”€โ”€ CheckoutPage.ts
โ”œโ”€โ”€ config/
โ”‚ โ””โ”€โ”€ playwright.config.ts
โ”œโ”€โ”€ utils/
โ”‚ โ””โ”€โ”€ helpers.ts
โ””โ”€โ”€ package.json
```

## Test Scenarios Covered

- Product Search and Filtering
- Shopping Cart Operations
- User Account Management
- Product Categories Navigation
- Book Details Validation

## Running Tests

Run all tests:
```bash
npm test
```

Run specific test file:
```bash
npx playwright test tests/e2e/search.spec.ts
```

Run tests in headed mode:
```bash
npx playwright test --headed
```

## Generate Test Report

```bash
npx playwright show-report
```

## Configuration

The project uses `playwright.config.ts` for configuration. You can modify the following settings:

- Browsers to test (Chrome, Firefox, Safari)
- Viewport sizes
- Test timeouts
- Parallel execution
- Screenshot and video capture settings

## Best Practices

- Page Object Model design pattern
- Data-driven testing approach
- Explicit waits over implicit waits
- Meaningful test descriptions
- Isolated test cases
- Regular maintenance and updates

## Contributing

1. Fork the repository
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

## Author

[Antony Garcia](https://github.com/antonyga)

## License

This project is licensed under the MIT License - see the LICENSE.md file for details