Light and modern testing framework for Playwright.
Meowwright is a testing framework built on top of Playwright, designed to make UI testing easier and more maintainable. It follows the Page Object Model pattern and provides a structured approach to writing tests.
- Page Object Model implementation
- Robust fixture system supporting multiple page objects
- Centralized configuration management system for test data and environments
- Advanced logging strategy with Winston
- Comprehensive utility classes for common operations
- CI/CD integration with Google Cloud Build
- Node.js (latest LTS version recommended)
- npm or yarn
- Clone the repository
- Install dependencies:
npm ci- Install Playwright browsers:
npx playwright installTo run all tests:
npx playwright testTo run a specific test file:
npx playwright test tests/example.spec.tspages/: Page Object Model classesfixtures/: Test fixturestests/: Test filesconfig/: Configuration files and managerplaywright.config.ts: Playwright configurationdocs/: Documentation
- Configuration Management System: How to use the centralized configuration system
- Logging Strategy: How to use the logging system
- Utility Classes: How to use the utility classes for common operations
Meowwright provides a robust fixture system that allows tests to use multiple page objects. The main fixture file is fixtures/page-fixtures.ts, which exports a test object with all available page objects.
// Import the test object with all fixtures
import { test } from '../../fixtures/page-fixtures';
// Use multiple page objects in a test
test('Navigate between pages', async ({ homePage, elementsPage }) => {
await homePage.navigate();
await elementsPage.navigate();
});
// Or use just the page objects you need
test('Home page only', async ({ homePage }) => {
await homePage.navigate();
});To add a new page object to the fixture system:
- Create your page object class in the
pages/directory - Add it to the
PageFixturestype infixtures/page-fixtures.ts - Add a fixture function for it in the
test.extend()call
This project includes a CI/CD pipeline configuration for Google Cloud Build. The pipeline:
- Installs dependencies
- Installs Playwright browsers
- Runs tests
- Uploads test reports and artifacts to Google Cloud Storage
For detailed setup instructions, see CI/CD Setup.
Apache License 2.0