This repository contains a Playwright framework setup for automated testing. The framework is structured as follows:
Project Folder
├── node_modules
└── src
├── api
├── config
├── fixtures
├── logging
├── pages
├── testdata
└── tests
├─ playwright-report
│ .eslintrc.json
│ readme.md
│ .gitignore
│ package-lock.json
│ package.json
│ playwright.config.ts
│ requirements.md
│ tsconfig.json
├─ .github
│ └── workflows
│ └── main.yml
.eslintrc.json
: ESLint configuration file for linting TypeScript code..gitignore
: Specifies intentionally untracked files to ignore in Git.package-lock.json
andpackage.json
: Node.js package files specifying project dependencies.playwright.config.ts
: Configuration file for Playwright settings.requirements.md
: Document outlining project requirements.tsconfig.json
: TypeScript compiler options file.
.github/workflows/main.yml
: GitHub Actions workflow file for continuous integration.
- Directory containing Node.js modules installed by npm.
- Directory for storing Playwright test reports.
- Source code directory containing project files.
- Directory for API-related scripts.
- Directory containing environment configuration files and authentication data.
- Directory for test fixtures, such as reusable functions for login.
- Directory for log files generated during test execution.
- Page object files representing different pages of the application under test.
- Directory containing test data files in various formats, such as JSON and CSV.
- Directory for test scripts written in TypeScript.
- Directory for utility scripts used in testing, such as encryption and logging utilities.
- Directory for storing test execution results, including screenshots, trace files, and videos.
- Clone the repository and install dependencies using
npm install
. - Run tests using
npm test
. - View test reports in the
playwright-report
directory. - Explore source code files for detailed implementation.
Contributions are welcome! Please follow the established coding style and guidelines. If you find any issues or have suggestions for improvements, feel free to open an issue or submit a pull request.
This project is licensed under the MIT License.