* Initial import of playwright tests * Pipeline changes for automated tests * Modified pipeline for testing * Attempt #2 * Attempt #3 * Added missing paren * Removed debug stuff from pipeline * Changes from playwright repo * Changed pipeline for debugging * Fix for ServiceLocationPage playwright locators * Change pipeline to run with TEST APIs * Moved more of Siraj's changes to this repo * Changed where updating env occurs * Changed location of env update again * Escaped double quotes * Added visible report in Azure * Moved changes into main pipeline * Made it so dotenv only runs config in local
101 lines
2.6 KiB
Markdown
101 lines
2.6 KiB
Markdown
# ISS QA Automation Framework
|
|
An automated testing framework for Insurance Self-Service (ISS) application using Playwright with TypeScript.
|
|
|
|
# Technology Stack
|
|
• Playwright - Core testing framework
|
|
• TypeScript - Programming language
|
|
• Node.js - Runtime environment
|
|
• SauceLabs/Dockers - Cross-browser testing platform
|
|
|
|
# Key Features
|
|
• Page Object Model implementation
|
|
• Data-driven test approach
|
|
• Cross-browser testing support
|
|
• Parallel test execution
|
|
• HTML report generation
|
|
• Environment-specific configurations
|
|
• SauceLabs integration
|
|
|
|
# Test Scenarios
|
|
The framework includes various test scenarios covering essential flows like:
|
|
|
|
1. Vehicle Not Found Tests (Scenario 10)
|
|
2. Do Not See Shop Tests (Scenario 11)
|
|
3. Unique Glass Tests (Scenario 12)
|
|
4. Replace Tests (Scenario 13)
|
|
5. Repair Mobile Tests (Scenario 14)
|
|
6. Replace Parts Questions Dropoff Tests (Scenario 15)
|
|
7. HP Tests (Scenario 16)
|
|
|
|
# Installation
|
|
# Install dependencies
|
|
npm install
|
|
|
|
# Install SauceLabs CLI
|
|
npm install saucectl
|
|
|
|
# Configuration
|
|
• Environment configurations in .env files
|
|
• SauceLabs configuration in config.yml
|
|
• Playwright configuration in playwright.config.ts
|
|
|
|
# Project Structure
|
|
.
|
|
├── tests/ # Test scenarios and cases
|
|
├── pages/ # Page Object Models
|
|
├── business-logic/ # Business logic and data models
|
|
├── impl/ # Implementation utilities
|
|
└── artifacts/ # Test artifacts and results
|
|
|
|
# Running Tests
|
|
# Run all tests
|
|
npx playwright test
|
|
|
|
# Run a specific test file
|
|
npx playwright test tests/0000__M.test.ts
|
|
|
|
# Run tests with specific tag (cognitive approach)
|
|
npx playwright test --grep "@smoke"
|
|
|
|
# Test Reports
|
|
Test results are available in:
|
|
|
|
• ortoni report (summerized HTML)
|
|
• HTML format (playwright-report)
|
|
• JUnit format
|
|
• SauceLabs dashboard
|
|
|
|
# Key Features
|
|
Page Object Model implementation
|
|
Data-driven test approach
|
|
Cross-browser testing support
|
|
Integration with SauceLabs
|
|
Parallel test execution
|
|
HTML report generation
|
|
Environment-specific configurations
|
|
|
|
# Common Test Flows
|
|
• Vehicle lookup validation
|
|
• Shop selection
|
|
• Damage assessment
|
|
• Appointment scheduling
|
|
• Coverage verification
|
|
• Payment processing
|
|
|
|
# Contributing
|
|
1. Follow the established page object pattern
|
|
2. Add proper test documentation
|
|
3. Include appropriate test tags
|
|
4. Ensure tests are isolated and repeatable
|
|
|
|
# Environment Variables
|
|
BASE_URL=
|
|
CCIS_API_URL=
|
|
ADMIN_SERVICE_API_URL=
|
|
SAUCE_USERNAME=
|
|
SAUCE_ACCESS_KEY=
|
|
|
|
|
|
# CI/CD Integration
|
|
The project uses Azure Pipelines for continuous integration with configurations defined in azure-pipelines.yml.
|
|
|