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

本文涉及的产品
图像搜索,7款服务类型 1个月
简介: 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 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

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

相关文章
|
8天前
|
人工智能 运维 Prometheus
AIOpsLab:云服务自动化运维 AI,微软开源云服务 AI 框架,覆盖整个生命周期
AIOpsLab 是微软等机构推出的开源框架,支持云服务自动化运维,涵盖故障检测、根本原因分析等完整生命周期。
75 13
AIOpsLab:云服务自动化运维 AI,微软开源云服务 AI 框架,覆盖整个生命周期
|
14天前
|
人工智能 编解码 自然语言处理
AGUVIS:指导模型实现 GUI 自动化训练框架,结合视觉-语言模型进行训练,实现跨平台自主 GUI 交互
AGUVIS 是香港大学与 Salesforce 联合推出的纯视觉 GUI 自动化框架,能够在多种平台上实现自主 GUI 交互,结合显式规划和推理,提升复杂数字环境中的导航和交互能力。
51 8
AGUVIS:指导模型实现 GUI 自动化训练框架,结合视觉-语言模型进行训练,实现跨平台自主 GUI 交互
|
24天前
|
人工智能 Linux API
PromptWizard:微软开源 AI 提示词自动化优化框架,能够迭代优化提示指令和上下文示例,提升 LLMs 特定任务的表现
PromptWizard 是微软开源的 AI 提示词自动化优化框架,通过自我演变和自我适应机制,迭代优化提示指令和上下文示例,提升大型语言模型(LLMs)在特定任务中的表现。本文详细介绍了 PromptWizard 的主要功能、技术原理以及如何运行该框架。
132 8
PromptWizard:微软开源 AI 提示词自动化优化框架,能够迭代优化提示指令和上下文示例,提升 LLMs 特定任务的表现
|
12天前
|
存储 测试技术 API
pytest接口自动化测试框架搭建
通过上述步骤,我们成功搭建了一个基于 `pytest`的接口自动化测试框架。这个框架具备良好的扩展性和可维护性,能够高效地管理和执行API测试。通过封装HTTP请求逻辑、使用 `conftest.py`定义共享资源和前置条件,并利用 `pytest.ini`进行配置管理,可以大幅提高测试的自动化程度和执行效率。希望本文能为您的测试工作提供实用的指导和帮助。
63 15
|
30天前
|
JSON 数据可视化 测试技术
python+requests接口自动化框架的实现
通过以上步骤,我们构建了一个基本的Python+Requests接口自动化测试框架。这个框架具有良好的扩展性,可以根据实际需求进行功能扩展和优化。它不仅能提高测试效率,还能保证接口的稳定性和可靠性,为软件质量提供有力保障。
60 7
|
18天前
|
机器学习/深度学习 人工智能 自动驾驶
企业内训|AI大模型在汽车行业的前沿应用研修-某汽车集团
本课程是TsingtaoAI为某汽车集团高级项目经理设计研发,课程全面系统地解析AI的发展历程、技术基础及其在汽车行业的深度应用。通过深入浅出的理论讲解、丰富的行业案例分析以及实战项目训练,学员将全面掌握机器学习、深度学习、NLP与CV等核心技术,了解自动驾驶、智能制造、车联网与智能营销等关键应用场景,洞悉AI技术对企业战略布局的深远影响。
168 97
|
9天前
|
机器学习/深度学习 人工智能 算法
AI在体育分析与预测中的深度应用:变革体育界的智能力量
AI在体育分析与预测中的深度应用:变革体育界的智能力量
67 31
|
4天前
|
人工智能 运维 负载均衡
智能运维新时代:AI在云资源管理中的应用与实践
智能运维新时代:AI在云资源管理中的应用与实践
73 23
|
16天前
|
机器学习/深度学习 人工智能 自然语言处理
CogAgent-9B:智谱 AI 开源 GLM-PC 的基座模型,专注于预测和执行 GUI 操作,可应用于自动化交互任务
CogAgent-9B 是智谱AI基于 GLM-4V-9B 训练的专用Agent任务模型,支持高分辨率图像处理和双语交互,能够预测并执行GUI操作,广泛应用于自动化任务。
73 12
CogAgent-9B:智谱 AI 开源 GLM-PC 的基座模型,专注于预测和执行 GUI 操作,可应用于自动化交互任务
|
11天前
|
机器学习/深度学习 人工智能 监控
AI在交通管理系统中的应用
AI在交通管理系统中的应用
52 23

热门文章

最新文章