skillfed

prowler-test-ui

This skill teaches you how to build robust Playwright-based end-to-end tests for Prowler's user interface. You'll learn the testing patterns and structural conventions that Prowler uses to maintain code quality and catch regressions across its cloud security platform.

prowler-test-ui teaches you to write Playwright E2E tests by following Prowler's established conventions and structural patterns. Start by understanding Prowler's test directory layout, then create tests that follow the framework's tagging system for providers and scans. Your tests should use Page Object Models to encapsulate UI interactions, leverage base page helpers for common operations, and apply proper wait strategies—avoiding networkidle where possible—to ensure reliable test execution across Prowler's cloud security dashboard and feature pages.

AI-generated summary based on this skill's SKILL.md

14,491 2,285 Apache-2.0 updated by prowler-cloud

Install

prowler-cloud/prowler/prowler-test-ui · repository language: Python

CLI (skillfed)coming soon
git clone https://github.com/prowler-cloud/prowler
cp -r prowler/skills/prowler-test-ui ~/.claude/skills/prowler-test-ui

Frequently asked questions

AI-generated answers based on this skill's SKILL.md and metadata

How do I write Playwright E2E tests for Prowler UI?

prowler-test-ui teaches you to write Playwright E2E tests by following Prowler's established conventions and structural patterns. Start by understanding Prowler's test directory layout, then create tests that follow the framework's tagging system for providers and scans. Your tests should use Page Object Models to encapsulate UI interactions, leverage base page helpers for common operations, and apply proper wait strategies—avoiding networkidle where possible—to ensure reliable test execution across Prowler's cloud security dashboard and feature pages.

What are Page Object Models and how do I create them for Prowler UI testing?

prowler-test-ui covers Page Object Models as a core pattern for organizing UI test code. A Page Object Model abstracts a UI page or component into a reusable class that encapsulates selectors, navigation logic, and interaction methods. For Prowler UI, you create Page Object Models by extending the base page class, defining test IDs and selectors specific to Prowler's interface elements (such as dashboard, providers page, and scans page), and exposing high-level methods that tests call. This approach keeps your tests maintainable and reduces duplication across your test suite.

How do I set up test infrastructure with base pages and helpers for Prowler UI?

prowler-test-ui explains how to establish test infrastructure by creating a base page class that all Page Object Models inherit from. This base page provides common helper methods for navigation, element interaction, and assertions tailored to Prowler's UI patterns. You'll also set up utility helpers for synchronizing test IDs across your markdown specifications, TypeScript types, and test files. The infrastructure includes configuration for test runners using pnpm commands and ensures that your test setup aligns with Prowler's documentation templates and mandatory test checklist requirements.

How can I fix flaky E2E tests in Prowler UI using proper wait strategies?

prowler-test-ui teaches debugging and stabilizing flaky tests by applying correct Playwright wait strategies specific to Prowler's UI behavior. Rather than relying on networkidle waits, you'll learn to wait for specific elements, network responses, or page state changes relevant to Prowler's dashboard and scan operations. The skill covers identifying common sources of flakiness in Prowler tests, implementing targeted waits for provider and scan page interactions, and validating page navigation to ensure tests are robust and deterministic across different environments.

What test patterns and tags does Prowler use for E2E testing?

prowler-test-ui covers Prowler-specific test patterns, including the tagging system for organizing tests by providers, scans, and features. You'll learn the mandatory documentation template structure, how to apply tags that categorize tests for selective execution, and the conventions Prowler follows for test organization. The skill also explains how these patterns integrate with Prowler's test runners and MCP workflow, ensuring your tests are discoverable, maintainable, and aligned with the platform's quality standards and regression detection goals.

What Playwright selectors and test ID synchronization practices should I use for Prowler UI?

prowler-test-ui emphasizes synchronizing test IDs across your markdown specifications, TypeScript types, and test files to maintain consistency and reduce maintenance burden. You'll learn how to define stable, semantic selectors for Prowler UI elements and use test IDs that reflect the component hierarchy and purpose. The skill covers best practices for selector strategy in Prowler's dashboard, providers page, and scans page, ensuring your selectors remain resilient to UI changes and that test ID updates propagate correctly across your specification and implementation layers.

SKILL.md

rendered from the published skill — quoted content, verbatim

> Generic Patterns: For base Playwright patterns (Page Object Model, selectors, helpers), see the playwright skill. > This skill covers Prowler-specific conventions only.

Prowler UI Test Structure

ui/tests/
├── base-page.ts              # Prowler-specific base page
├── helpers.ts                # Prowler test utilities
└── {page-name}/
    ├── {page-name}-page.ts   # Page Object Model
    ├── {page-name}.spec.ts   # ALL tests (single file per feature)
    └── {page-name}.md        # Test documentation (MANDATORY - sync with spec.ts)

MANDATORY Checklist (Create or Modify Tests)

⚠️ ALWAYS verify BEFORE completing any E2E task:

When CREATING new

(truncated - see the full file via the links below)

Read as markdown · JSON record · Browse the source repository

File tree — 2 files
skills/prowler-test-ui/SKILL.md
skills/prowler-test-ui/references/e2e-docs.md

Related skills

Tags

page-object-model end-to-end-testing test-automation ui-testing-framework test-documentation browser-automation test-structure quality-assurance test-helpers