webapp-testing

anthropics/skills · Agent Skill

Тестирование веб-приложений через браузерную автоматизацию: сценарии, проверки UI и отладка.

Перейти к установке ↓

Обзор

АвторanthropicsОрганизация
Репозиторийanthropics/skills ↗
Папка скиллаwebapp-testing
Звёзды176 064
Файлытолько SKILL.md
Лицензияне указана — уточните у автора
СсылкиИсходник скилла ↗ · Репозиторий ↗

Проверка Mozgi

Что мы нашли в файлах скилла. Подробности — по подписке.

Безопасность
низкий риск · явных рисков не найдено — полный отчёт покажет детали
Совместимость
нужны дополнительные программы
Похожие скиллы
найдено 144 похожих скилла
Ещё в подписке

Установка

Скилл — это папка с файлом SKILL.md. Выберите своего агента и скопируйте команды в терминал (macOS, Linux или Git Bash на Windows) в корне проекта.

Скопируйте промпт и вставьте в Claude, Codex или другого ассистента: он сам проверит скилл и подключит его.

Установи мне скилл «webapp-testing» с mozgi.io (https://mozgi.io/skills/webapp-testing/).

1. Возьми папку скилла из исходника: https://github.com/anthropics/skills/tree/main/skills/webapp-testing
2. Прочитай SKILL.md и остальные файлы. Проверь, что скилл безопасен: нет скрытых команд, отправки данных наружу или скриптов, которые делают не то, что описано. Если что-то подозрительно — остановись и скажи мне.
3. Положи папку «webapp-testing» в папку скиллов своего агента: .claude/skills/ для Claude Code, .agents/skills/ для Codex, .cursor/skills/ для Cursor, .gemini/skills/ для Gemini CLI. В проекте — внутри проекта, иначе в домашней папке (~/.claude/skills/ и т. п.).
4. Убедись, что получилось <папка скиллов>/webapp-testing/SKILL.md.
5. Коротко расскажи, что умеет этот скилл, и предложи попробовать его на моей задаче.

Если какой-то шаг не можешь сделать сам — подскажи, что нажать или ввести.

Содержимое SKILL.md

Оригинальный текст автора · только чтение

Web Application Testing

To test local web applications, write native Python Playwright scripts.

Helper Scripts Available:

  • scripts/with_server.py - Manages server lifecycle (supports multiple servers)

Always run scripts with --help first to see usage. DO NOT read the source until you try running the script first and find that a customized solution is abslutely necessary. These scripts can be very large and thus pollute your context window. They exist to be called directly as black-box scripts rather than ingested into your context window.

Decision Tree: Choosing Your Approach

User task → Is it static HTML?
    ├─ Yes → Read HTML file directly to identify selectors
    │         ├─ Success → Write Playwright script using selectors
    │         └─ Fails/Incomplete → Treat as dynamic (below)
    │
    └─ No (dynamic webapp) → Is the server already running?
        ├─ No → Run: python scripts/with_server.py --help
        │        Then use the helper + write simplified Playwright script
        │
        └─ Yes → Reconnaissance-then-action:
            1. Navigate and wait for networkidle
            2. Take screenshot or inspect DOM
            3. Identify selectors from rendered state
            4. Execute actions with discovered selectors

Example: Using with_server.py

To start a server, run --help first, then use the helper:

Single server:

python scripts/with_server.py --server "npm run dev" --port 5173 -- python your_automation.py

Multiple servers (e.g., backend + frontend):

python scripts/with_server.py \
  --server "cd backend && python server.py" --port 3000 \
  --server "cd frontend && npm run dev" --port 5173 \
  -- python your_automation.py

To create an automation script, include only Playwright logic (servers are managed automatically):

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=True) # Always launch chromium in headless mode
    page = browser.new_page()
    page.goto('http://localhost:5173') # Server already running and ready
    page.wait_for_load_state('networkidle') # CRITICAL: Wait for JS to execute
    # ... your automation logic
    browser.close()

Reconnaissance-Then-Action Pattern

1. Inspect rendered DOM:

```python

page.screenshot(path='/tmp/inspect.png', full_page=True)

content = page.content()

page.locator('button').all()

```

2. Identify selectors from inspection results

3. Execute actions using discovered selectors

Common Pitfall

❌ Don't inspect the DOM before waiting for networkidle on dynamic apps

✅ Do wait for page.wait_for_load_state('networkidle') before inspection

Best Practices

  • Use bundled scripts as black boxes - To accomplish a task, consider whether one of the scripts available in scripts/ can help. These scripts handle common, complex workflows reliably without cluttering the context window. Use --help to see usage, then invoke directly.
  • Use sync_playwright() for synchronous scripts
  • Always close the browser when done
  • Use descriptive selectors: text=, role=, CSS selectors, or IDs
  • Add appropriate waits: page.wait_for_selector() or page.wait_for_timeout()

Reference Files

  • examples/ - Examples showing common patterns:
  • element_discovery.py - Discovering buttons, links, and inputs on a page
  • static_html_automation.py - Using file:// URLs for local HTML
  • console_logging.py - Capturing console logs during automation

Вопросы и ответы

Что делает скилл webapp-testing?

Тестирование веб-приложений через браузерную автоматизацию: сценарии, проверки UI и отладка.

Как установить webapp-testing?

Откройте блок «Установка» на этой странице и выберите своего агента — Claude Code, Codex, Cursor или Gemini CLI: там готовые команды, которые копируют папку скилла в нужное место. Либо скопируйте промпт из вкладки «Через ассистента» — ассистент сам проверит и подключит скилл.

С какими нейросетями работает webapp-testing?

Скиллы — это обычные инструкции в Markdown (формат Agent Skills), поэтому webapp-testing подходит любому агенту, который читает SKILL.md: Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode и другие. Модель загружает инструкции только когда задача подходит под описание скилла.

Скилл webapp-testing бесплатный?

Скилл опубликован автором anthropics в открытом доступе. Сам скилл ничего не стоит — вы платите только своему провайдеру нейросети за использованные токены. Лицензия в репозитории не указана — перед коммерческим использованием уточните условия у автора.

Безопасно ли устанавливать скиллы?

Скилл — это инструкции, которые агент будет выполнять, поэтому перед установкой прочитайте SKILL.md и сопутствующие файлы. Скрипты из папки скилла запускаются только если их запустит агент — следите за тем, что он делает, и не давайте лишних прав.

Чем скилл отличается от MCP-сервера или плагина?

MCP-сервер и плагин дают модели новые инструменты — код, который выполняется и возвращает результат. Скилл даёт знания и порядок действий: как подходить к задаче, какие шаги делать и как выглядит хороший результат. Ему не нужен сервер или ключ API.

Похожие скиллы

Все скиллы →
mcp-builder Помогает проектировать и собирать MCP-серверы: структура проекта, инструменты, ресурсы и тестирование протокола. anthropics176k artifacts-builder Сборка интерактивных веб-артефактов: одностраничные приложения, дашборды и игры с правильной структурой. anthropics176k claude-md-improver Инструмент для аудита и улучшения файлов CLAUDE.md в репозиториях. Сканирует проект, оценивает качество документации по шаблонам, формирует отчет и вносит необходимые правки для оптимизации контекста проекта. anthropics43.8k playground Инструмент для создания интерактивных HTML-страниц с визуальными элементами управления, предпросмотром и генерацией промптов. Позволяет пользователям настраивать параметры и визуализировать сложные концепции в одном файле. anthropics43.8k hook-development Инструмент для разработки и внедрения событийных хуков в плагины Claude Code. Позволяет настраивать валидацию вызовов, автоматизацию рабочих процессов и управление жизненным циклом сессий через продвинутые API на базе промптов. anthropics43.8k agent-transcript Добавляет отредактированную стенограмму агента в тело PR или issue GitHub в рамках рабочих процессов OpenClaw. openclaw389k