Token导航 LogoToken导航TokenDH.com
Runautomation Mcpserver logo
浏览器工具未说明官方级别未说明来源级核验

Runautomation Mcpserver

MCP Server

一个基于Playwright的全面浏览器自动化测试服务器,提供100多种工具用于网页测试、浏览器自动化和质量保证任务。

工具数

91

提示词数

0

GitHub Stars

5

资源数

0
浏览器自动化TypeScriptClaudeClaude DesktopClaude

安装说明

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

作者 / 组织

tayyabakmal1

提供方

tayyabakmal1

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

RunAutomation MCP服务器

用于Playwright自动化的全面模型上下文协议(MCP)服务器,为web测试、浏览器自动化和质量保证任务提供100多种工具。

目录

为什么使用此MCP服务器?

模型上下文协议(MCP)

模型上下文协议是一个开放标准,可实现人工智能助手和外部工具之间的无缝集成。此MCP服务器允许AI模型(如Claude、GPT等):

  • 执行浏览器自动化 直接通过自然语言命令
  • 执行质量保证任务 无需手动编写脚本
  • 生成测试代码 通过观察用户交互
  • 运行全面的测试套件 具有可视化回归、可访问性和跨浏览器测试
  • 将测试集成到AI工作流程中 用于自主创建和执行测试

主要优势

  • AI驱动测试:让AI助手根据需求编写和执行测试
  • 自然语言控制:通过对话命令控制剧作家
  • 全面覆盖:100多种工具,涵盖web测试的各个方面
  • 生产就绪:基于Playwright可靠的自动化框架
  • 可扩展:易于集成到现有的测试工作流程中
  • 开源:麻省理工学院获得商业和个人使用许可

用例

  • 自动化测试:创建并运行浏览器自动化测试
  • 视觉质量保证:执行可视化回归测试和跨浏览器验证
  • 可访问性审计:运行WCAG合规性检查
  • PDF测试:验证PDF生成和内容
  • API测试:在UI测试的同时测试后端API
  • 测试生成:记录用户操作并生成测试代码
  • CI/CD集成:在持续集成管道中运行测试

安装

先决条件

  • Node.js 18或更高版本
  • npm或yarn包管理器

### Local Development Installation

1. Clone the repository:

git clone https://github.com/tayyabakmal1/runautomation-mcpserver.git cd runautomation-mcpserver


2. 安装依赖项:

npm install


3. 构建项目:

npm run build


4. 运行测试(可选):

npm test


## 配置

### Claude桌面集成

要将此MCP服务器与Claude Desktop一起使用,请将以下配置添加到您的Claude Desktop配置文件中:

**视窗**: `%APPDATA%\Claude\claude_desktop_config.json`
**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Linux**: `~/.config/Claude/claude_desktop_config.json`

{ "mcpServers": { "playwright": { "command": "npx", "args": [ "--directory", "/your-playwright-mcp-server-clone-directory", "run", "runautomation-mcpserver" ] } } }


### 环境变量

您可以使用环境变量配置服务器:

Browser configuration

PLAYWRIGHT_BROWSER=chromium # chromium, firefox, webkit PLAYWRIGHT_HEADLESS=true # true or false

Video recording

PLAYWRIGHT_VIDEO_DIR=./videos PLAYWRIGHT_VIDEO_QUALITY=100

Session management

MAX_SESSIONS=10 SESSION_TIMEOUT=3600000 # milliseconds


## 可用工具

### 浏览器自动化(50多种工具)

- `playwright_navigate` -导航到URL
- `playwright_click` -点击元素
- `playwright_fill` -填写输入字段
- `playwright_select` -选择下拉选项
- `playwright_hover` -将鼠标悬停在元素上
- `playwright_screenshot` -截图
- `playwright_evaluate` -执行JavaScript
- `playwright_upload_file` -上传文件
- `playwright_download_file` -下载文件
- `playwright_drag` -拖放元素
- `playwright_press_key` -按键盘键
- `playwright_go_back` -返回导航
- `playwright_go_forward` -向前导航
- `playwright_iframe_click` -在iframe中单击
- `playwright_iframe_fill` -填写iframe
- `playwright_click_and_switch_tab` -打开新选项卡
- `playwright_copy_to_clipboard` -复制到剪贴板
- `playwright_read_clipboard` -读取剪贴板
- `playwright_handle_dialog` -处理对话框
- `playwright_expect_dialog` -期待对话
- `playwright_drag_to_position` -拖动到坐标
- `playwright_get_element_position` -获取元素位置
- `playwright_console_logs` -获取控制台日志
- `playwright_get_visible_text` -获取页面文本
- `playwright_get_visible_html` -获取页面HTML
- `playwright_custom_user_agent` -设置用户代理
- `playwright_close` -关闭浏览器

### 代码生成(4个工具)

- `start_codegen_session` -开始录制测试
- `end_codegen_session` -停止并生成代码
- `get_codegen_session` -获取会话信息
- `clear_codegen_session` -清除会话
- `playwright_collect_locators` -收集页面定位器

### 视频录制(5个工具)

- `playwright_start_video_recording` -开始录制
- `playwright_stop_video_recording` -停止录制
- `playwright_add_video_annotation` -添加注释
- `playwright_configure_video_settings` -配置设置
- `playwright_get_video_status` -获取录制状态

### 视觉测试(7个工具)

- `playwright_visual_compare` -比较截图
- `playwright_create_baseline` -创建基线
- `playwright_batch_visual_compare` -批量比较
- `playwright_ai_visual_compare` -AI视觉测试
- `playwright_batch_ai_visual_compare` -批量AI测试
- `playwright_cross_browser_screenshot` -跨浏览器捕获

### 会话管理(9个工具)

- `create_browser_session` -创建新会话
- `list_browser_sessions` -列出所有会话
- `close_browser_session` -结束会话
- `switch_browser_session` -切换会话
- `get_session_info` -获取会话详细信息
- `cleanup_idle_sessions` -清理空闲会话
- `playwright_recover_session` -恢复会话
- `playwright_recover_all_sessions` -恢复所有会话
- `playwright_get_persistence_stats` -获取持久性统计数据

### 智能等待(6个工具)

- `playwright_wait_smart` -智能等待
- `playwright_wait_network_idle` -等待网络
- `playwright_wait_element_count` -等待计数
- `playwright_wait_attribute` -等待属性
- `playwright_wait_element_hidden` -等待隐藏
- `playwright_wait_url` -等待URL更改

### 可访问性(4个工具)

- `playwright_check_accessibility` -运行斧头扫描
- `playwright_get_aria_snapshot` -获取ARIA树
- `playwright_check_contrast` -检查对比度
- `playwright_check_keyboard_navigation` -测试键盘导航

### 代码覆盖率(4个工具)

- `playwright_start_coverage` -开始覆盖
- `playwright_get_coverage` -获取覆盖结果
- `playwright_generate_coverage_report` -生成报告
- `playwright_compare_coverage` -比较覆盖范围

### 跨浏览器测试(4个工具)

- `playwright_run_across_browsers` -在所有浏览器中运行
- `playwright_emulate_device` -模拟移动设备
- `playwright_list_devices` -列出可用设备

### PDF测试(4个工具)

- `playwright_save_as_pdf` -将页面另存为PDF
- `playwright_extract_pdf_text` -提取PDF文本
- `playwright_validate_pdf_content` -验证PDF内容
- `playwright_count_pdf_pages` -统计PDF页面
- `playwright_download_and_extract_pdf` -下载并提取PDF

### 高级断言(6个工具)

- `playwright_assert_element_state` -断言元素状态
- `playwright_assert_element_count` -断言计数
- `playwright_assert_text_content` -断言文本
- `playwright_assert_attribute` -断言属性
- `playwright_assert_css_property` -断言CSS
- `playwright_assert_request_made` -断言网络请求

### API测试(7种工具)

- `playwright_get` -HTTP GET请求
- `playwright_post` -HTTP POST请求
- `playwright_put` -HTTP PUT请求
- `playwright_patch` -HTTP PATCH请求
- `playwright_delete` -HTTP删除请求
- `playwright_expect_response` -期待回应
- `playwright_assert_response` -断言回应

### 并行执行(2个工具)

- `playwright_run_tests_parallel` -并行运行测试
- `playwright_run_cross_browser` -跨浏览器并行测试

### 资源管理(2个工具)

- `playwright_get_resource_usage` -获取资源统计信息
- `playwright_update_resource_limits` -更新限制

## 特性

### 核心浏览器自动化

- **导航与交互**:导航URL、单击元素、填写表单、选择下拉菜单、悬停、拖放
- **文件操作**:上传文件、下载文件、处理文件输入
- **剪贴板操作**:复制到剪贴板和从剪贴板读取
- **对话框处理**:处理警报、确认和提示对话框
- **iframe支持**:与iframe中的元素交互
- **选项卡管理**:打开新选项卡并在它们之间切换
- **高级交互**:按键盘,拖动到指定位置,滚动,后退/前进

### 屏幕截图和视觉测试

- **电脑屏幕截图工具**:具有可定制尺寸的整页或特定元素截图
- **视觉回归测试**:使用像素完美差异检测将屏幕截图与基线进行比较
- **人工智能驱动的视觉测试**:忽略动态内容的智能视觉比较
- **批量目视测试**:并行运行多个视觉比较
- **跨浏览器截图**:捕获并比较Chromium、Firefox和WebKit的屏幕截图

### 代码生成和记录

- **测试代码生成**:记录浏览器操作并生成Playwright测试代码
- **多种语言**:用TypeScript或JavaScript生成测试
- **页面对象模型**:生成基于POM的测试结构
- **定位器集合**:自动收集和组织元素定位器
- **会话录制**:用注释记录完整的测试会话

### 视频录制

- **会话录制**:将浏览器会话录制为视频
- **注释支持**:在录制过程中添加带时间戳的注释
- **可配置设置**:自定义视频质量、FPS和输出目录
- **有条件录音**:仅记录测试失败
- **持续时间跟踪**:跟踪记录持续时间和状态

### 会话管理

- **多会话支持**:创建和管理多个独立的浏览器会话
- **会话保持**:跨重新启动保存和恢复会话
- **会话切换**:在活动会话之间无缝切换
- **空闲清理**:自动清理非活动会话
- **资源监控**:跟踪资源使用情况和会话统计信息

### API测试

- **HTTP方法**:GET、POST、PUT、PATCH、DELETE请求
- **请求/响应验证**:期待并断言HTTP响应
- **标题定制**:添加自定义标头和授权令牌
- **响应等待**:等待特定的API响应

### 智能等待与同步

- **智能等待**:等待具有多种条件的元素(可见、稳定、交互式)
- **网络空闲**:等待网络活动完成
- **元素计数**:等待特定数量的元素
- **属性等待**:等待元素属性达到预期值
- **URL等待**:等待URL模式更改
- **元素隐藏**:等待元素消失

### 可访问性测试

- **WCAG合规性**:运行斧头核心可访问性扫描
- **ARIA快照**:获取可访问性树结构
- **对比度检查**:验证颜色对比度
- **键盘导航**:测试键盘可访问性
- **多个WCAG级别**:支持WCAG 2.0 A、AA、AAA和第508节

### 代码覆盖率

- **JavaScript覆盖率**:在测试期间跟踪JS代码覆盖率
- **CSS覆盖率**:监控CSS使用情况和未使用的样式
- **覆盖范围报告**:生成HTML、JSON、LCOV和文本格式的报告
- **基线比较**:比较测试运行之间的覆盖率
- **详细统计**:逐行覆盖分析

### 跨浏览器测试

- **多浏览器执行**:在Chromium、Firefox和WebKit上并行运行测试
- **设备仿真**:模拟移动设备(iPhone、iPad、Android)
- **自定义视口**:使用不同屏幕尺寸进行测试
- **地理定位测试**:测试基于位置的功能
- **时区和区域设置**:测试国际化功能

### PDF测试

- **文本提取**:从PDF中提取和验证文本内容
- **页面计数**:统计PDF页面并获取元数据
- **内容效度**:在生成的PDF中声明预期文本
- **PDF下载测试**:测试PDF下载功能
- **另存为PDF**:将网页转换为PDF格式

### 高级断言

- **元素状态**:断言可见性、启用/禁用、选中/未选中状态
- **元素计数**:通过灵活的比较验证匹配元素的数量
- **文本内容**:使用模糊匹配断言文本(包含、以开头、以结尾、正则表达式)
- **属性验证**:检查具有多个匹配类型的元素属性
- **CSS属性**:断言计算的CSS属性值
- **网络断言**:验证是否发出了特定的网络请求

### 并行执行

- **测试并行化**:同时运行多个测试场景
- **可配置并发**:控制最大并行执行数
- **故障快速模式**:第一次失败时停止或继续进行所有测试
- **碎片支持**:将测试分布在多台机器上
- **跨浏览器并行**:并行跨浏览器执行相同的测试

### 控制台和调试

- **控制台日志**:捕获和过滤浏览器控制台日志
- **日志类型**:按错误、警告、信息、调试级别筛选
- **日志搜索**:按文本模式搜索控制台日志
- **JavaScript执行**:在浏览器上下文中执行自定义JavaScript

### 资源管理

- **浏览器限制**:配置最大并发浏览器数
- **会话限制**:设置每个用户和总会话限制
- **队列管理**:处理请求排队和超时
- **资源监控**:跟踪内存和浏览器资源使用情况
- **自动清理**:清理空闲会话和资源

## 使用示例

### 示例1:基本导航和屏幕截图

// Using the MCP server through an AI assistant "Navigate to https://example.com and take a screenshot"

// This translates to: // 1. playwright_navigate with url: "https://example.com" // 2. playwright_screenshot with name: "example-homepage"


### 示例2:表单自动化

// Natural language command "Fill the login form with username 'test@example.com' and password 'secret123', then click the submit button"

// Executes: // 1. playwright_fill with selector: "#username", value: "test@example.com" // 2. playwright_fill with selector: "#password", value: "secret123" // 3. playwright_click with selector: "button[type='submit']"


### 示例3:视觉回归测试

// Command "Create a baseline screenshot of the homepage and compare it with the current page"

// Executes: // 1. playwright_create_baseline with outputPath: "./baselines/homepage.png" // 2. playwright_visual_compare with baseline: "./baselines/homepage.png"


### 示例4:可访问性测试

// Command "Run an accessibility audit on the current page for WCAG AA compliance"

// Executes: // 1. playwright_check_accessibility with level: "WCAG2AA"


### 示例5:跨浏览器测试

// Command "Test the login page across all browsers"

// Executes: // 1. playwright_run_across_browsers with url: "https://app.com/login" // browsers: ["chromium", "firefox", "webkit"]


### 示例6:视频录制

// Command "Start recording the browser session, navigate to the dashboard, and stop recording"

// Executes: // 1. playwright_start_video_recording // 2. playwright_navigate with url: "https://app.com/dashboard" // 3. playwright_add_video_annotation with message: "Dashboard loaded" // 4. playwright_stop_video_recording with saveVideo: true


### 示例7:代码生成

// Command "Start a code generation session, perform some actions, then generate the test code"

// Executes: // 1. start_codegen_session with outputPath: "./tests", language: "typescript" // 2. [Perform various browser actions] // 3. end_codegen_session with sessionId: "session-id" //4. Get the code file


## 作者

**塔亚布·阿克马尔**

- 领英: [https://www.linkedin.com/in/tayyab-sqa-engineer/](https://www.linkedin.com/in/tayyab-sqa-engineer/)
- github: 
- 电子邮件: 

Tayyab是一名高级QA工程师,专门从事测试自动化、质量保证和构建开发工具。凭借在Playwright、Selenium和现代测试框架方面的丰富经验,他创建了这个MCP服务器,以弥合人工智能助手和浏览器自动化之间的差距。

## 贡献

欢迎投稿!请按照以下步骤操作:

1. 分叉存储库
1. 创建要素分支(`git checkout -b feature/amazing-feature`)
1. 提交您的更改(`git commit -m 'Add amazing feature'`)
1. 推到分支(`git push origin feature/amazing-feature`)
1. 打开拉取请求

## 问题和支持

如果您遇到任何问题或有疑问:

- **GitHub 问题**: 
- **讨论**: 

## 许可证

此项目根据MIT许可证获得许可-请参阅 [许可证](LICENSE) 文件以获取详细信息。

## 致谢

- 建立在 [剧作家](https://playwright.dev/) -微软强大的浏览器自动化框架
- 实现 [模型上下文协议](https://modelcontextprotocol.io/) -Anthropic的AI工具集成开放标准
- 用途 [斧头核心](https://github.com/dequelabs/axe-core) 用于可访问性测试
- 由...驱动 [@模型上下文协议/sdk](https://github.com/modelcontextprotocol/sdk)

## 关键词

剧作家、自动化、人工智能、MCP、浏览器自动化、web测试、视觉回归、可访问性测试、跨浏览器测试、测试生成、质量保证、e2e测试、集成测试、claude、模型上下文协议

______________________________________________________________________

由...制作❤️ 通过 [塔亚布·阿克马尔](https://www.linkedin.com/in/tayyab-sqa-engineer/)

目录标签

目录标签

浏览器自动化TypeScriptClaude本地部署网页测试质量保证AI驱动测试自然语言控制

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

91

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP