Web-QA

by Ilikepizza2

Integrations

  • Supports environment variable configuration through .env files, allowing users to securely store LLM API keys and other configuration parameters

  • Integrates with GitHub Copilot to enable AI-assisted web testing automation, allowing Copilot to record test flows, execute regression tests, and discover potential test steps through natural language prompts

  • Leverages Python for web testing automation, with support for Playwright browser control and LLM integration for test recording, execution, and discovery

Веб-тестер VibeShift

Этот проект предоставляет агента на базе искусственного интеллекта, предназначенного для оптимизации рабочих процессов веб-тестирования, в частности для разработчиков, использующих помощников по кодированию на основе искусственного интеллекта, таких как GitHub Copilot, Cursor, Roo Code и т. д. Он напрямую интегрируется в этих помощников через MCP (протокол машинных команд) , что позволяет автоматизировать запись, выполнение и обнаружение тестов с помощью подсказок на естественном языке.

Проблема: Ручное тестирование веб-приложений после генерации кода с помощью помощников ИИ занимает много времени и подвержено ошибкам. Более того, изменения кода, вносимые ИИ, могут непреднамеренно вносить регрессии в ранее работающие функции.

Решение: Этот инструмент устраняет пробел, позволяя вашему помощнику по кодированию на основе ИИ:

  1. Запишите новые тестовые потоки: опишите путь пользователя на естественном языке, и агент будет взаимодействовать с браузером (используя Playwright) под руководством ИИ для создания воспроизводимого тестового сценария (формат JSON).
  2. Выполнение существующих тестов: запуск ранее записанных тестовых сценариев для проведения регрессионного тестирования, гарантирующего, что новые изменения кода не нарушат существующую функциональность.
  3. Откройте для себя потенциальные этапы тестирования: просканируйте веб-сайт, проанализируйте страницы с помощью визуализации и структуры DOM и попросите специалиста LLM предложить соответствующие этапы тестирования для разных страниц.

Это создает более тесный цикл обратной связи, автоматизируя процесс тестирования и позволяя ИИ-помощнику (и разработчику) быстро выявлять и устранять проблемы или регрессии.

Демонстрация (Нажмите, чтобы воспроизвести эти видео)

Функции

  • Интеграция MCP: бесшовная интеграция с Cursor/Windsurf/Github Copilot/Roo Code
  • Запись тестов с помощью искусственного интеллекта: создание сценариев тестов на основе драматурга на основе описаний на естественном языке (в автоматическом режиме).
  • Детерминированное выполнение теста: надежное выполнение записанных тестовых файлов JSON с помощью Playwright.
  • Тестовое обнаружение на основе ИИ: сканируйте веб-сайты и используйте любой LLM (в формате, совместимом с OpenAI), чтобы предлагать шаги тестирования для обнаруженных страниц.
  • Регрессионное тестирование: легко запускайте существующие тестовые наборы для выявления регрессий.
  • Автоматизированный цикл обратной связи: результаты выполнения (включая сбои, снимки экрана, журналы консоли) возвращаются, обеспечивая прямую обратную связь для помощника на основе искусственного интеллекта.
  • Самовосстановление: существующие тесты самовосстанавливаются в случае изменения кода. Нет необходимости обновлять вручную.
  • Тесты пользовательского интерфейса: Тесты пользовательского интерфейса, которые не поддерживаются playwright напрямую, также поддерживаются. Например, Check if the text is overflowing in the div
  • Визуальное регрессионное тестирование : с использованием традиционного подхода сопоставления пикселей и визуального LLM.

Как это работает

+-------------+ +-----------------+ +---------------------+ +-----------------+ +---------+ | User | ----> | AI Coding Agent | ----> | MCP Server | ----> | Web Test Agent | ----> | Browser | | (Developer) | | (e.g., Copilot) | | (mcp_server.py) | | (agent/executor)| | (Playwright)| +-------------+ +-----------------+ +---------------------+ +-----------------+ +---------+ ^ | | | |--------------------------------------------------+----------------------------+---------------------+ [Test Results / Feedback]
  1. Пользователь: дает подсказку своему помощнику по кодированию на основе ИИ (например, «Записать тест для процесса входа в систему», «Запустить регрессионный тест 'test_login.json'»).
  2. Агент кодирования ИИ: распознает намерение и использует MCP для вызова соответствующего инструмента, предоставленного MCP Server .
  3. Сервер MCP: направляет запрос в соответствующую функцию ( record_test_flow , run_regression_test , discover_test_flows , list_recorded_tests ).
  4. Агент веб-тестирования:
    • Запись: WebAgent (в автоматическом режиме) взаимодействует с LLM для планирования шагов, управляет браузером через BrowserController (Playwright), обрабатывает HTML/Vision и сохраняет полученные тестовые шаги в файле JSON в каталоге output/ .
    • Выполнение: TestExecutor загружает указанный тестовый файл JSON, использует BrowserController для взаимодействия с браузером в соответствии с записанными шагами и фиксирует результаты, снимки экрана и журналы консоли.
    • Обнаружение: CrawlerAgent использует BrowserController и LLMClient для сканирования страниц и предложения тестовых шагов.
  5. Браузер: Драматург управляет фактическим взаимодействием браузера.
  6. Обратная связь: результаты (успех/неудача, пути к файлам, сообщения об ошибках, обнаруженные шаги) возвращаются через сервер MCP помощнику по кодированию на основе ИИ, который затем представляет их пользователю.

Начиная

Предпосылки

  • Питон 3.10+
  • Доступ к любой степени магистра права (по моим тестам, лучше всего работает бесплатная версия Gemini 2.0 Flash)
  • MCP установлен ( pip install mcp[cli] )
  • Браузеры Playwright установлены ( playwright install )

Установка

  1. Клонируйте репозиторий:
    git clone <repository-url> cd <repository-name>
  2. Создать виртуальную среду (рекомендуется):
    python -m venv venv source venv/bin/activate # Linux/macOS # venv\Scripts\activate # Windows
  3. Установите зависимости:
    pip install -r requirements.txt
  4. Установить браузеры Playwright:
    playwright install --with-deps # Installs browsers and OS dependencies

Конфигурация

  1. Переименуйте файл .env.example в .env в корневом каталоге проекта.
  2. Добавьте свой ключ LLM API и другие необходимые данные:
    # .env LLM_API_KEY="YOUR_LLM_API_KEY"
    • Замените YOUR_LLM_API_KEY на ваш фактический ключ.

Добавление MCP-сервера

Добавьте это в вашу конфигурацию mcp:

{ "mcpServers": { "Web-QA":{ "command": "uv", "args": ["--directory","path/to/cloned_repo", "run", "mcp_server.py"] } } }

Поддерживайте работу этого сервера, пока вы взаимодействуете с вашим помощником по программированию на основе искусственного интеллекта.

Использование

Взаимодействуйте с агентом с помощью помощника по кодированию на основе искусственного интеллекта с поддержкой MCP, используя естественный язык.

Примеры:

  • Запишите тест:

    «Запишите тест: перейдите по ссылке https://practicetestautomation.com/practice-test-login/ , введите «student» в поле имени пользователя, введите «Password123» в поле пароля, нажмите кнопку «Отправить» и убедитесь, что текст «Поздравляем, студент» виден».

    • (Агент выполнит эти действия автоматически и сохранит файл test_....json в output/ )
  • Выполнить тест:

    "Запустить регрессионный тест output/test_practice_test_login_20231105_103000.json "

    • (Агент выполнит шаги в указанном файле и сообщит о статусе PASS/FAIL с ошибками и подробностями.)
  • Откройте для себя этапы тестирования:

    «Откройте для себя возможные этапы тестирования, начиная с https://practicetestautomation.com/practice/ »

    • (Агент будет сканировать сайт, анализировать страницы и возвращать рекомендуемые шаги тестирования для каждой из них.)
  • Список зарегистрированных тестов:

    «Перечислите доступные записанные веб-тесты».

    • (Агент вернет список файлов .json , найденных в каталоге output/ .)

Выход:

  • Записанные тесты: сохраняются в виде файлов JSON в каталоге output/ (формат см. в test_schema.md ).
  • Результаты выполнения: возвращаются как объект JSON, обобщающий выполнение (статус, ошибки, пути доказательств). Полные результаты также сохраняются в output/execution_result_....json .
  • Результаты обнаружения: Возвращаются как объект JSON с обнаруженными URL и предлагаемыми шагами. Полные результаты сохраняются в output/discovery_results_....json .

Вдохновение

  • Использование браузера : Генерация контекстного дерева dom во многом вдохновлена ими и модифицирована для размещения статических/динамических/визуальных элементов. Особая благодарность им за их вклад в открытый исходный код.

Внося вклад

Вклады приветствуются! Подробности о том, как начать работу, сообщать о проблемах и отправлять запросы на включение изменений, см. на сайте CONTRIBUTING.md.

Лицензия

Данный проект распространяется под лицензией APACHE-2.0 .

-
security - not tested
A
license - permissive license
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Агент на базе искусственного интеллекта, который оптимизирует рабочие процессы веб-тестирования, позволяя разработчикам записывать, выполнять и обнаруживать тесты, используя подсказки на естественном языке в своих помощниках по кодированию на базе искусственного интеллекта.

  1. Демонстрация (Нажмите, чтобы воспроизвести эти видео)
    1. Функции
    2. Как это работает
    3. Начиная
    4. Использование
    5. Вдохновение
    6. Внося вклад
    7. Лицензия

Related MCP Servers

  • -
    security
    A
    license
    -
    quality
    A Message Control Protocol server that runs PHP tests and static analysis tools automatically for developers, providing results directly to AI assistants in Cursor editor.
    Last updated -
    1
    TypeScript
    MIT License
  • -
    security
    A
    license
    -
    quality
    Empowers AI agents to perform web browsing, automation, and scraping tasks with minimal supervision using natural language instructions and Selenium.
    Last updated -
    1
    Python
    Apache 2.0
    • Apple
  • -
    security
    A
    license
    -
    quality
    Allows AI agents to control web browser sessions via Selenium WebDriver, enabling web automation tasks like scraping, testing, and form filling through the Model Context Protocol.
    Last updated -
    TypeScript
    MIT License
  • -
    security
    F
    license
    -
    quality
    An open-source self-hosted browser agent that provides a dockerized browser environment for AI automation, allowing other AI apps and agents to perform human-like web browsing tasks through natural language instructions.
    Last updated -
    119
    16
    TypeScript

View all related MCP servers

ID: iwaqcipjpu