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月前
|
人工智能 自然语言处理 测试技术
从人工到AI驱动:天猫测试全流程自动化变革实践
天猫技术质量团队探索AI在测试全流程的落地应用,覆盖需求解析、用例生成、数据构造、执行验证等核心环节。通过AI+自然语言驱动,实现测试自动化、可溯化与可管理化,在用例生成、数据构造和执行校验中显著提效,推动测试体系从人工迈向AI全流程自动化,提升效率40%以上,用例覆盖超70%,并构建行业级知识资产沉淀平台。
从人工到AI驱动:天猫测试全流程自动化变革实践
|
9月前
|
Web App开发 人工智能 JavaScript
主流自动化测试框架的技术解析与实战指南
本内容深入解析主流测试框架Playwright、Selenium与Cypress的核心架构与适用场景,对比其在SPA测试、CI/CD、跨浏览器兼容性等方面的表现。同时探讨Playwright在AI增强测试、录制回放、企业部署等领域的实战优势,以及Selenium在老旧系统和IE兼容性中的坚守场景。结合六大典型场景,提供技术选型决策指南,并展望AI赋能下的未来测试体系。
|
10月前
|
数据采集 人工智能 监控
人工智能驱动的软件工程:测试左移的崛起价值
本文探讨了人工智能驱动下测试左移理念在软件工程中的重要性,分析测试工程师在需求评估、AI代码生成及遗留系统优化中的关键作用,揭示AI带来的挑战与机遇,并指出测试工程师需提升技能、关注合规与可维护性,以在AI时代保障软件质量。
506 89
|
7月前
|
数据采集 人工智能 自然语言处理
Playwright MCP 浏览器自动化框架全面解析
Playwright MCP是微软推出的开源项目,结合Playwright与MCP协议,让AI通过结构化数据直接操作浏览器。告别传统视觉识别,实现高效、精准的网页自动化,广泛应用于测试、爬虫、办公自动化等场景,大幅提升效率与可靠性。
|
10月前
|
Web App开发 开发框架 .NET
Playwright 自动化测试系列(6)| 第三阶段:测试框架集成​指南:参数化测试 + 多浏览器并行执行
Pytest 与 Playwright 集成可提升自动化测试效率,支持参数化测试、多浏览器并行执行及统一报告生成。通过数据驱动、Fixture 管理和并行优化,显著增强测试覆盖率与执行速度,适用于复杂 Web 应用测试场景。
|
人工智能 自然语言处理 JavaScript
测试工程师要失业?Magnitude:开源AI Agent驱动的端到端测试框架,让Web测试更智能,自动完善测试用例!
Magnitude是一个基于视觉AI代理的开源端到端测试框架,通过自然语言构建测试用例,结合推理代理和视觉代理实现智能化的Web应用测试,支持本地运行和CI/CD集成。
2133 15
测试工程师要失业?Magnitude:开源AI Agent驱动的端到端测试框架,让Web测试更智能,自动完善测试用例!
|
10月前
|
测试技术 API C++
Playwright 自动化测试系列(7)| 第三阶段:测试框架集成​​Page Object 模式
本课程详解Playwright测试框架中的Page Object模式,通过电商登录-下单实战演示PO架构设计与高级技巧,结合Pytest实现多用户测试。重点解析PO模式提升代码复用性、降低维护成本的核心价值,并提供常见问题解决方案,助力构建高可维护性的自动化测试体系。
|
10月前
|
Java 测试技术 API
自动化测试框架深度解析与选择指南
Apache JMeter是Apache组织基于Java开发的一款压力测试工具,旨在测试软件的性能承受能力。它支持多种协议测试及功能测试,提供灵活的断言创建能力,如同创建带断言的脚本来验证程序是否返回预期结果。

热门文章

最新文章