当前位置: 首页 > news >正文

MidScene:用自然语言重新定义跨平台自动化测试

MidScene:用自然语言重新定义跨平台自动化测试

【免费下载链接】midsceneAI-powered, vision-driven UI automation for every platform.项目地址: https://gitcode.com/GitHub_Trending/mid/midscene

你是否曾为编写繁琐的UI测试脚本而烦恼?是否希望有一种更直观的方式来控制浏览器、移动设备和桌面应用?MidScene.js正是为解决这些问题而生的开源项目——一个基于视觉语言模型的AI自动化框架,让你用简单的自然语言就能完成复杂的界面操作。

传统自动化测试的困境与MidScene的解决方案

想象一下,你需要在三个不同平台上测试同一个功能:Web端、Android应用和iOS应用。传统的自动化测试需要为每个平台编写不同的脚本,使用不同的选择器,还要应对频繁的UI变更。每次页面重构都意味着测试脚本需要重写,这种维护成本让很多团队望而却步。

MidScene采用了一种革命性的方法:纯视觉驱动。它不依赖DOM结构或无障碍树,而是像人类一样通过截图来理解界面。这意味着无论界面如何变化,只要人眼能看到,MidScene就能操作。这种设计从根本上解决了传统自动化测试的脆弱性问题。

MidScene安卓自动化界面 - 通过自然语言指令控制Android设备

核心技术:视觉语言模型的智能应用

MidScene的核心技术基于先进的多模态视觉语言模型。当你输入"打开设置应用,查看系统版本信息"这样的自然语言指令时,MidScene会:

  1. 视觉理解:通过截图分析当前界面状态
  2. 意图解析:将自然语言转换为具体的操作步骤
  3. 智能规划:生成最优的执行路径
  4. 精准执行:在正确的位置执行点击、滑动、输入等操作

系统支持多种主流模型,包括Qwen3.x、Doubao-Seed-2.0、GLM-4.6V、gemini-3.5-flash和开源的UI-TARS模型。你甚至可以在本地部署这些模型,确保数据安全和隐私保护。

MidScene iOS自动化界面 - 智能控制iPhone设备设置

全平台支持:一次编写,处处运行

MidScene最强大的特性之一是其跨平台能力。无论你面对的是Web浏览器、Android应用、iOS应用还是桌面软件,都可以使用相同的API和自然语言指令。

Web自动化

通过Chrome扩展或Bridge模式,MidScene可以智能操作任何网页。从简单的表单填写到复杂的多步流程,都能轻松处理。

// 示例:自动填写并提交表单 await aiAct('在搜索框中输入"MidScene自动化"并点击搜索按钮') await aiAct('找到第一个结果并点击进入详情页') await aiAct('点击"添加到购物车"按钮')

移动端自动化

对于Android和iOS设备,MidScene通过ADB或WebDriverAgent进行连接,提供与Web端一致的开发体验。

桌面应用自动化

通过RDP协议和原生输入驱动,MidScene能够控制Windows、macOS和Linux上的桌面应用。

MidScene桥接模式 - 通过本地终端脚本远程控制浏览器

两种自动化风格:灵活适应不同场景

MidScene提供了两种主要的自动化风格,满足不同复杂度的需求。

自动规划模式

对于简单任务,你可以直接描述最终目标,让AI自主规划执行路径:

// AI会自动分解任务并执行 await aiAct('逐一点击所有记录。如果某个记录包含文本"completed",则跳过它')

工作流模式

对于复杂业务逻辑,你可以将任务拆分为多个步骤,提高代码的可控性和稳定性:

// 手动控制每个步骤 const recordList = await agent.aiQuery('string[], the record list') for (const record of recordList) { const hasCompleted = await agent.aiBoolean(`检查记录 ${record} 是否包含文本 "completed"`) if (!hasCompleted) { await agent.aiTap(record) } }

实际应用场景:从测试到业务自动化

自动化测试验证

MidScene彻底改变了UI测试的编写方式。测试工程师不再需要编写和维护复杂的选择器,而是用自然语言描述测试用例:

# 示例YAML测试脚本 name: 电商购物流程测试 steps: - action: 打开电商网站首页 - action: 搜索"智能手机" - action: 按价格从低到高排序 - action: 选择第一个商品 - action: 添加到购物车 - assert: 确认购物车中有1件商品

数据采集与处理

MidScene可以自动从各种网站采集结构化数据,支持定时任务和批量处理:

// 自动采集商品价格信息 const products = await agent.aiQuery('提取页面上所有商品名称和价格') for (const product of products) { // 处理数据逻辑 console.log(`${product.name}: ${product.price}`) }

业务流程自动化

重复性的业务操作,如数据录入、报表生成、系统巡检等,都可以通过MidScene实现自动化。

MidScene Chrome扩展 - 直接在浏览器中控制自动化流程

详细执行报告:透明化的自动化过程

每次自动化任务执行后,MidScene都会生成详细的执行报告,包含:

  1. 操作步骤分解:清晰展示每个步骤的执行情况
  2. 耗时分析:记录规划、定位、执行等各阶段的用时
  3. 截图对比:展示每个操作前后的界面状态
  4. 错误诊断:当操作失败时,提供详细的错误信息和修复建议

自动化测试报告 - 清晰展示每个步骤的执行情况

快速开始:五分钟上手MidScene

环境准备

确保你的系统已经安装了Node.js 18+和Git,然后执行以下命令获取项目代码:

git clone https://gitcode.com/GitHub_Trending/mid/midscene cd midscene npm install

启动服务

安装完成后,只需一个命令即可启动MidScene服务:

npm run start

第一个自动化任务

启动服务后,在浏览器中打开MidScene的AI自动化界面,尝试输入简单的指令:

打开设置应用,查看系统版本信息

MidScene会自动识别并执行这个任务,让你立即感受到AI自动化的便利。

架构设计:模块化与可扩展性

MidScene采用模块化架构设计,核心功能位于packages/core/目录下:

  • AI模型层(packages/core/src/ai-model/):负责视觉理解和意图解析
  • 设备适配层(packages/android/,packages/ios/,packages/computer/):各平台的具体实现
  • 自动化引擎(packages/core/src/agent/):任务规划和执行控制
  • 报告生成(packages/core/src/dump/):执行结果的可视化展示

这种设计确保了系统的可扩展性,你可以轻松地为新的平台或应用开发适配器。

MidScene Playground界面 - 交互式调试和测试环境

集成生态:与现有工具链无缝对接

与Playwright集成

MidScene可以作为Playwright的补充,为现有的测试框架增加视觉AI能力:

import { test } from '@playwright/test' import { createAgent } from '@midscene/web' test('使用MidScene增强Playwright测试', async ({ page }) => { const agent = await createAgent(page) // 使用MidScene的AI能力 await agent.aiAct('点击登录按钮') // 继续使用Playwright的传统方法 await page.fill('#username', 'testuser') })

MCP集成

通过Model Context Protocol,MidScene可以与各种AI助手集成,让AI助手直接控制界面:

# 通过MCP让AI助手自动测试应用 tools: - name: midscene_automate description: 使用MidScene自动化界面操作 parameters: instruction: "要执行的自动化指令"

常见问题解答

Q: MidScene需要编程经验吗?

A: 完全不需要!MidScene专为普通用户设计,自然语言即可完成所有操作。即使你没有任何编程背景,也能轻松上手。

Q: 执行效率如何?

A: MidScene采用智能缓存和优化算法,重复任务执行速度会越来越快。系统会自动学习界面布局和操作模式,提升后续执行效率。

Q: 如何处理动态内容?

A: MidScene基于视觉识别,不依赖DOM结构,因此能够很好地处理动态生成的内容、单页应用和实时更新的界面。

Q: 是否需要网络连接?

A: 基础功能可以在本地离线运行。如果需要使用云端AI模型增强功能,才需要网络连接。

Q: 支持哪些浏览器?

A: MidScene支持所有基于Chromium的浏览器(Chrome、Edge、Brave等),通过Chrome扩展或Bridge模式提供支持。

Q: 如何保证数据安全?

A: 所有数据处理都在本地完成,支持自托管AI模型,确保数据安全和隐私保护。

开始你的AI自动化之旅

MidScene.js代表了UI自动化测试的未来方向——从依赖代码和选择器的传统方式,转向基于自然语言和视觉理解的智能方式。无论你是开发人员、测试工程师、产品经理还是业务分析师,MidScene都能为你提供强大的自动化能力。

下一步行动

  1. 体验在线演示:访问官方文档中的示例项目
  2. 安装Chrome扩展:零代码体验自动化功能
  3. 查看示例代码:学习如何使用JavaScript或YAML编写自动化脚本
  4. 加入社区:在Discord或飞书群中与其他用户交流经验

记住,最好的学习方式就是动手实践。从简单的任务开始,逐步探索MidScene的各种功能,你会发现AI自动化的无限可能。

官方文档:apps/site/docs/zh/核心源码:packages/core/示例配置:packages/cli/tests/

开始用自然语言控制你的数字世界,让AI成为你最得力的助手!

【免费下载链接】midsceneAI-powered, vision-driven UI automation for every platform.项目地址: https://gitcode.com/GitHub_Trending/mid/midscene

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/1023917/

相关文章:

  • 深度解析EPPlus架构设计与企业级Excel自动化实战指南
  • 中原区合扬名表回收 专业鉴定 高价回收各类腕表 - 开心测评
  • 深度解析:3步构建企业级容器镜像加速解决方案
  • 【课程设计/毕业设计】高校校园实名互动论坛系统(人脸识别核验)设计与实现 兼顾安全性与交互性的校园实名论坛系统设计与实践【附源码、数据库、万字文档】
  • 决策树实战:从信息增益到可解释AI的全流程手记
  • 财税Agent选购避坑指南:不能同步财税新政的产品真的需要每年大额付费升级吗?
  • 掌握数字内容自主权:m4s-converter实现B站缓存视频永久保存的技术实践
  • Minio RELEASE.2024-03升级踩坑实录:从文件丢失到SDK连接超时,我的完整修复与避坑指南
  • Destiny 2 Solo Enabler:为什么你的匹配屏蔽工具突然失效了?
  • Obsidian 新手插件推荐:同步、搜索、模板、AI 助手一次讲清
  • AI驱动测试与手工测试的协同决策模型
  • 大数据技术——核心知识点复习提纲
  • Python time.sleep() 深度解析:原理、陷阱与替代方案
  • 深度解析qmcdump:QQ音乐加密格式转换的终极实战指南
  • Gemini 3.5 Flash深度集成Android Studio实战指南
  • 营业执照自己能注销吗?线上注销营业执照流程是什么? - 慧办好
  • 110kV输电线路设计实战指南:从路径选择到杆塔基础全解析
  • 如何用清华简约主题PPT模板告别学术汇报的设计烦恼
  • 3分钟生成专业短视频:AI视频生成神器MoneyPrinterTurbo完全指南
  • Keyboard Chatter Blocker:3步告别键盘连击烦恼,让老旧机械键盘重获新生
  • 显卡处理视频技术详解:从硬解码到 NVENC,GPU 如何让视频处理起飞?
  • OmenSuperHub:3个简单步骤彻底释放惠普游戏本性能,告别官方臃肿软件
  • 2026年徐州特色烧烤品牌深度横评与打卡指南 - 年度推荐企业名录
  • 革命性无边框游戏体验:Borderless Gaming完全指南
  • Unity游戏插件框架BepInEx 6.0:多运行时架构深度解析与IL2CPP兼容性技术突破
  • Magenta RealTime 2安全与伦理考量:AI音乐生成的负责任使用指南
  • 3个步骤轻松掌握ConfuserEx:保护你的.NET代码不被反编译
  • 3分钟上手Notepad--:国产跨平台编辑器的正确打开方式
  • Bandizip深度解析:从多线程压缩到智能解压,打造高效文件管理体验
  • 一文读懂DeepFilterNet3-CoreML的ERB滤波器组:语音增强的关键技术