Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告

简介: Midscene.js 是一款基于 AI 技术的 UI 自动化测试框架,通过自然语言交互简化测试流程,支持动作执行、数据查询和页面断言,提供可视化报告,适用于多种应用场景。

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

原文链接:https://mp.weixin.qq.com/s/yopfWNlAq66VnH3DNlT_Mw


🚀 快速阅读

  1. 功能:支持自然语言交互、数据查询、页面断言和可视化报告。
  2. 技术:基于自然语言处理和界面理解技术,执行浏览器自动化操作。
  3. 应用:适用于自动化测试、数据抓取、性能监控和界面一致性检查等场景。

正文(附运行示例)

Midscene.js 是什么

公众号: 蚝油菜花 - midscene

Midscene.js 是一款基于 AI 技术的自动化 SDK,旨在简化 UI 自动化测试流程。它通过大型语言模型(LLM)解析用户的自然语言指令,执行相应的操作,如输入文本、点击按钮等。Midscene.js 支持动作执行、数据查询和页面断言,并提供可视化报告,帮助用户轻松调试和优化测试流程。

Midscene.js 是一个开源项目,用户可以在自己的环境中运行,确保数据安全。它支持与 YAML 脚本、Puppeteer 和 Playwright 等工具集成,适用于多种自动化测试场景。

Midscene.js 的主要功能

  • 自然语言交互:用户可以通过自然语言描述交互步骤,Midscene.js 将自动执行相应的操作,如输入文本、点击按钮等。
  • 自定义数据查询:用户描述所需的 JSON 格式,Midscene.js 将从页面内容中提取相应的数据。
  • 直观推断:用户可以对页面状态进行断言,确保 UI 符合预期。
  • Chrome 扩展:支持用户在任何网页上使用自然语言执行动作、查询和断言,无需编写代码。
  • 代码项目集成:与 YAML 脚本、Puppeteer 和 Playwright 等工具集成,实现自动化测试。
  • 可视化报告:每次运行后提供可视化报告,包括动画回放和步骤详情,用户可以在测试环境中调整提示而无需重新运行脚本。

Midscene.js 的技术原理

  • 自然语言处理(NLP):接收用户的自然语言输入,基于 NLP 技术解析指令。
  • 界面理解:模型分析网页内容,理解用户描述的界面元素和动作。
  • 执行动作:根据理解的结果,模型将执行相应的浏览器自动化操作,如模拟用户输入、点击等。
  • 数据提取:模型根据用户的查询请求,从网页中提取特定格式的数据。
  • 断言验证:模型检查页面状态是否符合用户的断言条件。

如何运行 Midscene.js

Midscene.js 提供了多种集成方式,以下是使用 Puppeteer 进行自动化测试的示例代码:

const puppeteer = require('puppeteer');
const midscene = require('@midscene/web');

(async () => {
   
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://example.com');

  // 使用 Midscene.js 执行自然语言指令
  await midscene.execute(page, '输入用户名 "testuser"');
  await midscene.execute(page, '点击登录按钮');

  // 提取页面数据
  const data = await midscene.query(page, '提取用户信息为 JSON 格式');
  console.log(data);

  await browser.close();
})();

代码解释

  1. Puppeteer 启动浏览器:使用 Puppeteer 启动浏览器并打开目标网页。
  2. Midscene.js 执行指令:通过 midscene.execute 方法执行自然语言指令,如输入用户名和点击登录按钮。
  3. 数据提取:使用 midscene.query 方法从页面中提取用户信息,并以 JSON 格式返回。
  4. 关闭浏览器:测试完成后关闭浏览器。

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

相关文章
|
7月前
|
人工智能 自然语言处理 安全
ChatBI,用AI自然语言与数据对话
在数字经济快速发展的2025年,企业数据量激增,市场对快速决策和深度分析提出更高要求。本方案介绍如何通过阿里云Quick BI工具,结合AI能力,帮助商业分析师高效应对数据洪流,实现智能化分析、快速决策,提升业务洞察力与决策效率。
ChatBI,用AI自然语言与数据对话
|
5月前
|
人工智能 JavaScript 算法
Playwright携手MCP:AI智能体实现自主化UI回归测试
MCP 协议使得 AI 能够通过 Playwright 操作浏览器,其中快照生成技术将页面状态转化为 LLM 可理解的文本,成为驱动自动化测试的关键。该方式适用于探索性测试和快速验证,但目前仍面临快照信息缺失、元素定位不稳定、成本高、复杂场景适应性差以及结果确定性不足等挑战。人机协同被认为是未来更可行的方向,AI 负责执行固定流程,人类则专注策略与验证。
|
5月前
|
存储 消息中间件 人工智能
【04】AI辅助编程完整的安卓二次商业实战-寻找修改替换新UI首页图标-菜单图标-消息列表图标-优雅草伊凡
【04】AI辅助编程完整的安卓二次商业实战-寻找修改替换新UI首页图标-菜单图标-消息列表图标-优雅草伊凡
354 4
|
4月前
|
人工智能 自然语言处理 JavaScript
Playwright MCP在UI回归测试中的实战:构建AI自主测试智能体
Playwright MCP结合AI智能体,革新UI回归测试:通过自然语言驱动浏览器操作,降低脚本编写门槛,提升测试效率与覆盖范围。借助快照解析、智能定位与Jira等工具集成,实现从需求描述到自动化执行的闭环,推动测试迈向智能化、民主化新阶段。
|
8月前
|
人工智能 JavaScript 数据可视化
AI + 低代码技术揭秘(八):UI 组件库
vtj/ui 是基于 Vue 3 的组件库,为 VTJ 低代码平台提供丰富的 UI 基础组件,涵盖表单、数据网格、对话框等,支持模块化开发与 TypeScript,助力高效构建可视化应用界面。
452 57
|
5月前
|
人工智能 JavaScript 测试技术
当Playwright遇见MCP,AI智能体实现自主化UI回归测试
本文探讨如何通过Model Context Protocol(MCP)让AI智能体驱动Playwright实现端到端自动化测试。重点解析快照技术的实现原理与实战流程,同时深入剖析其在信息丢失、元素定位、成本效率及逻辑复杂性等方面的现实挑战。
|
12月前
|
人工智能 自然语言处理 数据可视化
AutoAgents:比LangChain更激进的AI开发神器!自然语言生成AI智能体军团,1句话搞定复杂任务
AutoAgents 是基于大型语言模型的自动智能体生成框架,能够根据用户设定的目标自动生成多个专家角色的智能体,通过协作完成复杂任务。支持动态生成智能体、任务规划与执行、多智能体协作等功能。
1728 91
|
7月前
|
人工智能 IDE 测试技术
UI总改版?这个自我修复的AI测试神器让团队告别深夜紧急回滚
BrowserStack推出革命性AI代理套件,以5大专属代理重构测试全流程:测试用例生成准确率91%、低代码脚本转化提速10倍、自修复机制降低40%失败率。深度集成IDE生态,实现"测试即服务",将团队生产力提升50%,重新定义质量保障边界。
|
10月前
|
人工智能 自然语言处理 API
AutoAgent:无需编程!接入DeepSeek用自然语言创建和部署AI智能体!港大开源框架让AI智能体开发变成填空题
香港大学推出的AutoAgent框架通过自然语言交互实现零代码创建AI智能体,支持多模型接入与自动化工作流编排,在GAIA基准测试中表现优异。
1418 16
AutoAgent:无需编程!接入DeepSeek用自然语言创建和部署AI智能体!港大开源框架让AI智能体开发变成填空题

热门文章

最新文章