Skip to content
forked from jedau/PICKL

πŸ₯’ Playwright + Cucumber BDD testing framework for learning test automation. Includes comprehensive training exercises, page objects, and step definitions.

License

Notifications You must be signed in to change notification settings

italotlopes/PICKL

Β 
Β 

Repository files navigation

PICKL πŸ₯’

CI Security

Playwright Integrated with Cucumber Kickoff Launchpad

PICKL is a modern BDD test automation boilerplate that combines Playwright's powerful browser automation with Cucumber's human-readable Gherkin syntax. Built with TypeScript and ESM, it provides everything you need to write, run, and maintain scalable end-to-end tests.

✨ Key Features

πŸ§ͺ Test Execution

  • Multi-browser Support - Run tests on Chromium, Firefox, and WebKit
  • Flexible Tag-Based Filtering - Organize and run tests using @smoke, @regression, or custom tags
  • Real-time Progress Display - Custom verbose formatter with emoji indicators (⏳ β†’ βœ…/❌/⊘)
  • Built-in Summary - Automatic test execution summary with scenario and step counts
  • Headless & Headed Modes - Debug with visible browsers or run headlessly in CI/CD

πŸ“Š Reporting

  • HTML Reports - Beautiful single-page reports with cucumber-html-reporter
  • Automated PR Comments - Test results automatically posted to pull requests with pass/fail summary
  • Dark Mode Toggle - Built-in light/dark theme switcher with localStorage persistence
  • Custom Favicon - Distinctive pickle emoji πŸ₯’ branding
  • Auto-open Reports - Reports automatically open in your browser after generation
  • JSON Export - Raw test results for CI/CD integration
  • Artifact Retention - Test results, screenshots, and videos stored for 30 days

πŸ› οΈ Developer Experience

  • VS Code Integration - Tasks for running tests from Command Palette
  • Cucumber Language Support - Syntax highlighting, go-to-definition, and autocomplete
  • TypeScript + ESM - Modern JavaScript with full type safety
  • Environment Configuration - Flexible .env file for local customization
  • Unified Test Runner - Single npm test command with CLI flags support

🎯 Quality Assurance

  • ESLint + Prettier - Consistent code formatting and linting
  • Page Object Model - Maintainable test structure with reusable page objects
  • Custom World - Shared context across scenarios with automatic browser management
  • Hooks & Formatters - Extensible test lifecycle with custom formatters

πŸ“š Documentation

πŸš€ Getting Started

πŸ“– Learning & Training

πŸ“š Reference

🀝 Contributing

οΏ½ Security

οΏ½πŸ”§ Support

πŸš€ Quick Start

# Install dependencies
npm install

# Run all tests
npm test

# Run smoke tests
npm test -- --tags @smoke

# Run specific feature
npm test -- test/features/login.feature

# Generate report
npm run report

# Clean up artifacts and caches
npm run clean:all

πŸ“¦ Tech Stack

  • Playwright v1.56.1 - Browser automation
  • Cucumber v12.2.0 - BDD test framework
  • TypeScript v5.9.3 - Type-safe JavaScript
  • cucumber-html-reporter v7.2.0 - HTML report generation
  • tsx v4.20.6 - TypeScript execution
  • ESLint + Prettier - Code quality tools

About

πŸ₯’ Playwright + Cucumber BDD testing framework for learning test automation. Includes comprehensive training exercises, page objects, and step definitions.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 75.0%
  • JavaScript 11.7%
  • Shell 8.1%
  • Gherkin 5.2%