Token导航 LogoToken导航TokenDH.com
研究检索操作浏览器github未标认证来源可访问许可证需确认审计异常

playwright-form-validationPlaywright form validation 搜索

Agent Skill

用于辅助测试设计、自动化测试、用例整理和回归验证。它适合让 Agent 编写单元测试、端到端测试、测试计划或根据失败日志定位问题。使用时需要确认项目测试框架、运行命令和夹具数据,避免为了通过测试而改坏真实逻辑;涉及浏览器或外部服务时,应区分本地模拟、测试环境和生产环境。

总安装

218

周安装

9

GitHub Stars

1

下载量

71
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:playwright-form-validation(Playwright form validation 搜索)
来源仓库:https://github.com/dawiddutoit/custom-claude
仓库路径:skills/playwright-form-validation
安装命令:
npx skills add https://github.com/dawiddutoit/custom-claude --skill playwright-form-validation
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/dawiddutoit/custom-claude --skill playwright-form-validation

简介

用于辅助测试设计、自动化测试、用例整理和回归验证。

  • 适合编写单元测试、端到端测试或根据失败日志定位问题。
  • 使用时需确认项目测试框架、运行命令和夹具数据,避免误改逻辑。
  • 涉及浏览器或外部服务时,应区分本地模拟、测试环境和生产环境。
  • playwright-form-validation 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Playwright Form Validation Tester

Automates comprehensive form validation testing by systematically submitting invalid data, capturing validation messages, and generating detailed test reports.

Quick Start

Test a login form's validation:

# User asks: "Test the validation on the login form at example.com/login"

# Skill will:
# 1. Navigate to form
# 2. Test empty email field
# 3. Test invalid email format
# 4. Test empty password field
# 5. Test valid submission
# 6. Generate report with screenshots

Output: Validation report showing all error messages, missing validations, and screenshots of each error state.

Table of Contents

  1. When to Use This Skill
  2. What This Skill Does
  3. Instructions
  4. Supporting Files
  5. Expected Outcomes
  6. Integration Points
  7. Expected Benefits
  8. Success Metrics
  9. Requirements
  10. Red Flags to Avoid
  11. Notes

When to Use This Skill

Explicit Triggers

  • "Test form validation on [URL]"
  • "Check validation errors for this form"
  • "Test invalid inputs on the signup form"
  • "Verify error messages are displayed"
  • "Run validation tests on [form]"

Implicit Triggers

  • QA testing workflows requiring form validation checks
  • Accessibility audits checking error message clarity
  • Security testing for input sanitization
  • Regression testing after form changes
  • Documentation of validation behavior

Debugging Triggers

  • "Why isn't this form showing validation errors?"
  • "Are all required fields validated?"
  • "What validation messages does this form show?"
  • "Check if email validation is working"

What This Skill Does

This skill performs systematic form validation testing:

  1. Field Discovery - Identifies all form fields and their types
  2. Empty Value Testing - Submits form with each field empty
  3. Invalid Format Testing - Tests common invalid patterns (email, phone, etc.)
  4. Boundary Testing - Tests min/max lengths and values
  5. Valid Submission - Verifies successful submission with valid data
  6. Error Capture - Screenshots and catalogs all validation messages
  7. Report Generation - Creates comprehensive validation report

Instructions

Overview

The validation testing workflow has 7 main steps:

  1. Navigate to form and capture initial state
  2. Identify all form fields and their constraints
  3. Test empty field validation for required fields
  4. Test invalid format validation (email, phone, etc.)
  5. Test boundary values (min/max lengths and values)
  6. Test valid submission to verify success path
  7. Generate comprehensive validation report

Quick Workflow Example

// 1. Navigate and snapshot
await browser_navigate({ url: "https://example.com/login" });
await browser_snapshot({ filename: "initial.md" });

// 2. Test empty email
await browser_fill_form({
  fields: [{ name: "Email", type: "textbox", ref: "ref_1", value: "" }]
});
await browser_click({ element: "Submit", ref: "ref_submit" });
await browser_take_screenshot({ filename: "empty-email.png" });

// 3. Test invalid email format
await browser_navigate({ url: "https://example.com/login" }); // Reset
await browser_fill_form({
  fields: [{ name: "Email", type: "textbox", ref: "ref_1", value: "invalid" }]
});
await browser_click({ element: "Submit", ref: "ref_submit" });
await browser_take_screenshot({ filename: "invalid-email.png" });

// 4. Test valid submission
await browser_navigate({ url: "https://example.com/login" });
await browser_fill_form({
  fields: [
    { name: "Email", type: "textbox", ref: "ref_1", value: "test@example.com" },
    { name: "Password", type: "textbox", ref: "ref_2", value: "ValidPass123!" }
  ]
});
await browser_click({ element: "Submit", ref: "ref_submit" });
await browser_take_screenshot({ filename: "success.png" });

// 5. Generate report using template

Key Testing Patterns

Empty Fields - Test each required field with empty value Invalid Formats - Test email (invalid), phone (abc), URL (not-url) Boundaries - Test min/max length ("short", "a".repeat(101)) Cross-Field - Test password mismatch, invalid date ranges Valid Data - Verify success path works

Detailed Workflow

For complete step-by-step instructions with all code examples, see:

  • references/detailed-workflow.md - Full workflow with code samples
  • references/validation-patterns.md - Field type testing patterns
  • examples/examples.md - Complete form testing examples

Supporting Files

  • references/validation-patterns.md - Common validation patterns and test cases for different field types
  • examples/examples.md - Complete validation test examples for common forms (login, signup, checkout)
  • templates/validation-report-template.md - Markdown template for validation reports
  • scripts/parse_validation_errors.py - Helper to extract validation messages from snapshots

Expected Outcomes

Successful Validation Test

✅ Form Validation Test Complete

Form: Login Form (https://example.com/login)
Fields tested: 2 (email, password)
Validations found: 4
Missing validations: 0

Results by field:

Email Field:
✅ Empty value - "Email is required"
✅ Invalid format - "Please enter a valid email address"

Password Field:
✅ Empty value - "Password is required"
✅ Too short - "Password must be at least 8 characters"

Valid submission: ✅ Success (redirected to dashboard)

Screenshots saved: 5
Report: .claude/artifacts/2025-12-20/validation-report-login-form.md

Validation Issues Found

⚠️ Form Validation Issues Detected

Form: Signup Form (https://example.com/signup)
Fields tested: 5
Validations found: 3
Missing validations: 2

Issues:

❌ Phone field - No validation for invalid format
   Tested: "abc123", "12-34" → No error message shown

❌ Age field - No validation for negative values
   Tested: "-5" → Submission accepted

Recommendations:
1. Add phone number format validation
2. Add min value constraint to age field
3. Consider adding password strength indicator

Report: .claude/artifacts/2025-12-20/validation-report-signup-form.md

Integration Points

With Quality Gates

  • Run validation tests as part of QA workflow
  • Include in pre-release testing checklist
  • Automate regression testing for form changes

With Accessibility Testing

  • Verify error messages are clear and descriptive
  • Check that errors are associated with fields (aria-describedby)
  • Validate screen reader compatibility

With Security Testing

  • Verify input sanitization on client side
  • Check for XSS vulnerabilities in error messages
  • Test SQL injection patterns in text fields

With Documentation

  • Auto-generate validation documentation from reports
  • Create field reference guides with validation rules
  • Document error message copy for style guides

Expected Benefits

MetricBeforeAfterImprovement
Time to test form30 min (manual)2 min (automated)93% reduction
Test coverage40% (spot checks)100% (systematic)2.5x increase
Bugs found2-3 (missed edge cases)8-10 (comprehensive)3x increase
DocumentationNone → Screenshots + reportManual notes → Auto-generatedConsistent
Regression testingRarely doneAutomatedReliable

Success Metrics

A validation test is successful when:

✅ All form fields identified and cataloged ✅ Empty value validation tested for required fields ✅ Invalid format validation tested for typed fields (email, phone, etc.) ✅ Boundary values tested for constrained fields (min/max) ✅ Valid submission verified with success confirmation ✅ All validation messages captured and documented ✅ Screenshots saved for each error state ✅ Validation report generated with findings ✅ Missing validations identified and reported ✅ Recommendations provided for improvements

Requirements

Browser Automation:

  • Playwright MCP server configured
  • Browser installed via mcp__playwright__browser_install
  • Active browser session

Tools:

  • mcp__playwright__browser_navigate - Navigate to form URL
  • mcp__playwright__browser_snapshot - Capture form structure and errors
  • mcp__playwright__browser_fill_form - Fill field values
  • mcp__playwright__browser_click - Submit form
  • mcp__playwright__browser_wait_for - Wait for validation to appear
  • mcp__playwright__browser_take_screenshot - Capture error states
  • Write - Generate validation report
  • Read - Parse snapshots for validation messages

Knowledge:

  • Common validation patterns (email, phone, URL, etc.)
  • HTML form field types and attributes
  • Validation message extraction from snapshots
  • Markdown report formatting

Environment:

  • .claude/artifacts/{YYYY-MM-DD}/ directory for reports
  • Write permissions for screenshots

Red Flags to Avoid

Common mistakes when testing form validation:

  • Not waiting for validation - Click submit and immediately capture without waiting for messages
  • Testing only one field - Missing comprehensive coverage of all fields
  • Ignoring field types - Using same invalid pattern for all fields
  • Not testing boundaries - Missing min/max length and value constraints
  • Skipping valid submission - Not verifying success path works
  • Missing screenshots - Not capturing visual proof of error states
  • Incomplete report - Not documenting all findings systematically
  • Not clearing previous values - Leaving field values from previous tests
  • Ignoring client-side vs server-side - Not distinguishing validation types
  • Not checking accessibility - Missing aria-invalid, aria-describedby attributes

Notes

Best Practices:

  1. Test systematically - One field at a time, one validation at a time
  2. Clear between tests - Reset form to clean state before each test
  3. Wait appropriately - Give validation time to appear (1-2 seconds)
  4. Capture everything - Screenshot + snapshot for each error state
  5. Document clearly - Use descriptive filenames and report sections

Validation Types to Test:

  • Required field - Empty value submission
  • Format validation - Email, phone, URL, date patterns
  • Length constraints - Min/max character limits
  • Value constraints - Min/max numeric values
  • Pattern matching - Regex validation (password strength, username format)
  • Cross-field validation - Password confirmation, date ranges
  • Custom business rules - Age restrictions, allowed domains

Common Validation Messages:

  • "This field is required"
  • "Please enter a valid email address"
  • "Password must be at least 8 characters"
  • "Please enter a valid phone number"
  • "Value must be between X and Y"

Report Organization:

  • Save all artifacts to dated directory: .claude/artifacts/{YYYY-MM-DD}/
  • Use consistent naming: validation-{testname}-{fieldname}.png
  • Include all screenshots in report with relative paths
  • Provide actionable recommendations, not just findings

Progressive Disclosure:

  • For simple forms (2-3 fields), include full results inline
  • For complex forms (10+ fields), reference detailed results in report file
  • Always provide summary statistics up front
  • Link to screenshots rather than embedding them in conversation

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

34.25%
按下载量换算24

Claude

28.76%
按下载量换算20

Cursor

18.95%
按下载量换算13

Gemini CLI

8.25%
按下载量换算6

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

未通过

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills