test-automation-framework

>

INSTALLATION
npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill test-automation-framework
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

Test Automation Framework

Table of Contents

  • [Overview](#overview)
  • [When to Use](#when-to-use)
  • [Quick Start](#quick-start)
  • [Reference Guides](#reference-guides)
  • [Best Practices](#best-practices)

Overview

A test automation framework provides structure, reusability, and maintainability for automated tests. It defines patterns for organizing tests, managing test data, handling dependencies, and generating reports. A well-designed framework reduces duplication, improves reliability, and accelerates test development.

When to Use

  • Setting up new test automation
  • Scaling existing test suites
  • Standardizing test practices across teams
  • Reducing test maintenance burden
  • Improving test reliability and speed
  • Organizing large test codebases
  • Implementing reusable test utilities
  • Creating consistent reporting

Quick Start

Minimal working example:

// framework/pages/BasePage.ts

import { Page, Locator } from "@playwright/test";

export abstract class BasePage {

  constructor(protected page: Page) {}

  async goto(path: string) {

    await this.page.goto(path);

  }

  async waitForPageLoad() {

    await this.page.waitForLoadState("networkidle");

  }

  async takeScreenshot(name: string) {

    await this.page.screenshot({ path: `screenshots/${name}.png` });

  }

  protected async clickAndWait(locator: Locator) {

    await Promise.all([

      this.page.waitForResponse((resp) => resp.status() === 200),

      locator.click(),

    ]);

  }

}

// ... (see reference guides for full implementation)

Reference Guides

Detailed implementations in the references/ directory:

GuideContents
Page Object Model (Playwright/TypeScript)Page Object Model (Playwright/TypeScript)
Test Fixtures and FactoriesTest Fixtures and Factories
Custom Test UtilitiesCustom Test Utilities
Configuration ManagementConfiguration Management
Custom ReporterCustom Reporter
pytest Framework (Python)pytest Framework (Python)
Test OrganizationTest Organization

Best Practices

✅ DO

  • Use Page Object Model for UI tests
  • Create reusable test utilities
  • Implement proper wait strategies
  • Use fixtures for test data
  • Configure for multiple environments
  • Generate readable test reports
  • Organize tests by feature/type
  • Version control test framework

❌ DON'T

  • Put test logic in page objects
  • Use hard-coded waits (sleep)
  • Duplicate test setup code
  • Mix test data with test logic
  • Skip error handling
  • Ignore test flakiness
  • Create overly complex abstractions
  • Hardcode environment URLs
BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card