https://github.com/beemi/playwright-automation-test-framework
UI Automation framework with Playwright & Allure reporting
https://github.com/beemi/playwright-automation-test-framework
allure-report allure2 automation-test github-actions playwright playwright-typescript
Last synced: 2 months ago
JSON representation
UI Automation framework with Playwright & Allure reporting
- Host: GitHub
- URL: https://github.com/beemi/playwright-automation-test-framework
- Owner: beemi
- License: mit
- Created: 2021-03-06T20:59:09.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-07-18T19:48:29.000Z (3 months ago)
- Last Synced: 2025-07-19T00:20:59.040Z (3 months ago)
- Topics: allure-report, allure2, automation-test, github-actions, playwright, playwright-typescript
- Language: TypeScript
- Homepage: https://beemi.github.io/playwright-automation-test-example/
- Size: 1.27 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# π Playwright UI Automation Framework π
[](https://playwright.dev/)
[](https://www.typescriptlang.org/)
[](https://docs.qameta.io/allure/)
[](https://nodejs.org/en/)
[](https://www.npmjs.com/)## Introduction π
This repository contains the UI automation framework for the π simple web application.
The framework is built using π Playwright,
tests are written in π Typescript,
with π Jest as the test runner,
π Allure for test reporting,
and π² Faker for test data generation.## Table of Contents π
- [Project Structure](#project-structure)
- [Installation](#installation)
- [Lint and Format](#lint-and-format)
- [Reporting](#reporting)
- [CI/CD](#cicd)
- [Contact](#contact)## Project Structure π
```angular2html
ββββ.github
β ββββworkflows
ββββdocs # contains the documentation
ββββconfig # contains the configuration files for each environment
β ββββdev.env
β ββββprod.env
β ββββqa.env
ββββpages # contains the page objects for each page
| ββββhome-page.ts
| ββββlogin-page.ts
| ββββproduct-page.ts
| ββββshopping-cart-page.ts
| ββββcheckout-page.ts
ββββtests # contains the test files
| ββββcheckout.test.ts
| ββββlogin.test.ts
| ββββproduct.test.ts
| ββββshopping-cart.test.ts
| ββββtest-data.ts
ββββglobal-setup.ts # contains the global setup
ββββplaywright.config.ts # contains the playwright configuration
ββββallure-results # contains the allure results
```## Installation π
```bash
npm init playwright@latest
```Check the installation by running the following command:
```bash
npx playwright --version
```Run all tests in headless mode:
```bash
npm test
```Run all tests in headed mode:
```bash
npm run test:headed
```### Lint π§Ή and Format π¨
To lint the code, run the following command:
```bash
npm run lint
```Also `husky` is configured in the project to run the linting and formatting on every commit.
:warning: _**Note:**_ Git commit message should follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) format.
### Reporting π
[Allure GitHub](https://allurereport.org/docs/integrations-github/)
To generate the allure report, run the following command:
```bash
npm run generate:allure:report
```To open the allure report, run the following command:
```bash
npm run open:allure:report
```### CI/CD π
The CI/CD pipeline, configured with GitHub Actions, triggers on every push to the main branch. It runs tests in:
- π Development
- π QA
- π Production
...and across browsers:- π Chrome
- π Firefox
- π WebkitGitHub workflow file: `.github/workflows/playwright.yml`
Allure reports are generated and published via GitHub Pages.
### Contact π§
Questions? Reach out to us at π§ [beemi.raja@gmail.com](mailto:beemi.raja@gmail.com)
```
```