This framework is ideal for teams looking for a robust and scalable solution for their automation needs. It supports UI, API and DB testing, integrates with popular CI/CD tools, and provides detailed reporting for test results.
- Integrated CI/CD Pipelines: The framework is integrated with CI/CD pipelines for both GitHub and GitLab. This ensures seamless automation of tests during the development lifecycle.
- Project Dependency Structure: The framework follows a modular project dependency structure, making it easy to maintain and extend.
- Context Management: The framework incorporates Playwright's
BrowserContext
to isolate browser sessions. - Session Storage: Session storage is utilized to manage user authentication and other session-related data efficiently.
- Environment Management: The framework supports both
.env
files andGitLab environments and secrets
, allowing flexibility in managing environment-specific configurations. - Reports: Test execution generates detailed reports using tools like
ortoni-report
,Github report
andPlaywright's built-in HTML
reports. - Fixtures for POM: Fixtures are used to implement the Page Object Model (POM) design pattern, ensuring reusable and maintainable test code.
- Web, API and DB Automation: The framework provides a single solution for automating both
Web
,API
andDB
tests, making it versatile and efficient.
- Node.js (v14 or higher)
- npm or yarn
-
Clone the repository: git clone cd
-
Install dependencies: npm install
- Configure the environment in
playwright.config.ts
OR set environments and variables from Gitlab settings - Run tests using:
- npm run uitest_uat
- npm run apitest
- npm run dbtest
Test reports are generated in the ortoni-report/
directory. Open ortoni-report/ortoni-report.html
in a browser to view the results. Additionally, Github report
is also integrated.
Contributions are welcome! Please follow the guidelines below:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Submit a pull request with a detailed description of your changes.
This project is licensed under the MIT License. See the LICENSE
file for details.
For any issues or questions, please open an issue in the repository or contact the maintainers.