终于不用写E2E测试了!AI一句话测遍10个平台,253个MCP工具让Claude控制你的App

4 阅读2分钟

前言:测试维护的噩梦

作为一个全栈开发者,我最怕的就是维护E2E测试。每次UI改版,测试就批量报错;每次换个框架,测试脚本就得重写。

你是否也遇到过这些问题:

  • Selenium选择器经常失效
  • Appium在不同设备上行为不一致
  • Playwright只能测Web,移动端还得另外配置
  • 一个简单的登录流程要写50行测试代码

直到我开始尝试一种完全不同的方法:让AI直接控制应用进行测试

什么是AI驱动的应用测试?

想象一下,你说"打开设置页面,开启暗黑模式,返回主页验证主题已切换",AI就会一步一步执行。

这就是 flutter-skill 的核心理念。它是一个基于MCP(Model Context Protocol)的服务器,包含253个工具,让Claude或其他AI能够:

  1. 视觉理解:通过截图"看懂"应用界面
  2. 智能交互:像人类一样点击、滑动、输入
  3. 跨平台适配:同一个测试描述在10个平台上都能运行
  4. 自动适应:UI改版后测试自动适配,无需修改

技术架构

MCP协议:AI工具的标准化接口

MCP是Anthropic推动的标准,让AI能够安全地调用外部工具。flutter-skill实现了253个MCP工具,覆盖:

{
  "app_control": ["launch", "close", "background", "foreground"],
  "ui_interaction": ["tap", "swipe", "scroll", "pinch", "rotate"],
  "verification": ["screenshot", "element_exists", "text_contains"],
  "device_control": ["volume", "brightness", "orientation", "network"]
}

相比之下:

  • Playwright MCP: ~33个工具,仅支持Web
  • Selenium Grid: 需要大量配置,不支持MCP
  • Appium: 移动端专用,跨平台支持有限

性能数据

  • 点击延迟:1ms(接近硬件极限)
  • 截图延迟:31ms
  • UI分析:2ms
  • CDP连接:93ms

对比传统工具:Selenium 100-500ms,Appium 200-1000ms。

支持10个平台

Flutter、React Native、iOS、Android、Web、Electron、Tauri、KMP、.NET MAUI、Web CDP

实战对比

传统方式(Playwright)

await page.goto('https://app.example.com');
await page.waitForSelector('#register-button');
await page.click('#register-button');
await page.fill('[name=email]', 'test@example.com');
await page.fill('[name=password]', 'SecurePass123!');
await page.check('[name=terms]');
await page.click('button[type=submit]');
await page.waitForURL('**/welcome');
// ... 50行代码

AI方式(flutter-skill)

flutter-skill test "打开注册页面,填写邮箱和密码,同意条款,提交注册,验证欢迎页面"

代码量减少99.8%,维护成本为0。

测试通过率

在8个平台上运行181个测试场景,总体通过率99%(传统E2E通常60-80%)。

快速开始

# 安装
npm i -g flutter-skill

# 运行
flutter-skill test "描述你的测试场景"

也可以通过 pub.dev 安装(月下载量2K+):

dart pub global activate flutter_skill

项目地址

GitHub: github.com/ai-dashboad…

欢迎Star和贡献代码!目前19颗星,期待更多开发者一起推动AI测试工具的进化。