This project contains automated tests developed with Playwright and TypeScript to demonstrate knowledge in UI and API test automation.
This project implements 4 main tests:
- Login Page: Authentication tests with success and failure scenarios
- Checkboxes: Checkbox element interaction tests
- GET Request: GET request validation with positive and negative scenarios
- POST Request: Post creation with payload and response validation
- Node.js (LTS version recommended)
- npm or yarn
# Install dependencies
npm install
# Install Playwright browsers
npx playwright install --with-deps# Run all tests
npm test
# Run UI tests only
npm run test:ui
# Run API tests only
npm run test:api
# Run with graphical interface
npm run test:ui-mode
# View HTML report
npm run test:reporttests/
├── ui/
│ ├── data/ # Test data for UI
│ ├── pages/ # Page Object Model
│ └── specs/ # UI test specifications
└── api/
├── data/ # Test data for API
├── specs/ # API test specifications
└── types/ # TypeScript types for API
After test execution, an HTML report is automatically generated. To view:
npm run test:reportThe project includes GitHub Actions workflow (.github/workflows/playwright.yml) that:
- Runs UI and API tests in parallel
- Generates separate reports for each test type
- Configures optimized timeout for each job
- Page Object Model: Implemented for better organization and code reusability
- UI/API Separation: Clear structure to facilitate maintenance
- TypeScript: Static typing for greater reliability
- GitHub Actions: CI/CD configured with parallel jobs for optimization
- ✅ Login with valid credentials
- ✅ Login with invalid credentials
- ✅ Functional logout
- ✅ Checkbox interaction
- ✅ Checkbox state validation
- ✅ GET requests with structure validation
- ✅ POST requests with payload validation
- ✅ Error scenario handling
Developed by: Pedro Gondim
Company: Tattle
Technologies: Playwright, TypeScript, GitHub Actions