Midscene.js:让 UI 自动化测试变得简单而有趣

360影视 2025-01-08 21:54 3

摘要:在现代软件开发中,用户界面(UI)自动化测试是确保应用质量和用户体验的重要环节。然而,传统的 UI 自动化测试常常面临诸多挑战,如维护困难、脚本脆弱等。Midscene.js 的出现,为开发者提供了一种全新的解决方案,它利用大型语言模型(LLM)的强大能力,简

在现代软件开发中,用户界面(UI)自动化测试是确保应用质量和用户体验的重要环节。然而,传统的 UI 自动化测试常常面临诸多挑战,如维护困难、脚本脆弱等。Midscene.js 的出现,为开发者提供了一种全新的解决方案,它利用大型语言模型(LLM)的强大能力,简化了自动化测试的过程,让测试工作变得更加高效和有趣。

Midscene.js 最大的亮点之一是其对自然语言的理解和应用。传统的自动化测试需要编写复杂的代码,使用各种选择器和属性来定位和操作页面元素。而 Midscene.js 允许开发者使用自然语言描述交互步骤,AI 会自动解析这些描述并执行相应的操作。例如,你可以直接告诉 Midscene.js“在搜索框中输入 'Headphones',然后按 Enter”,而无需编写繁琐的代码。这种自然语言交互的方式,大大降低了自动化测试的门槛,使得非技术背景的人员也能参与到测试工作中来。

Midscene.js 的背后是强大的多模态大型语言模型(LLM)。这种模型不仅能够理解文本信息,还能处理图像等多模态数据。在 UI 自动化测试中,Midscene.js 会将页面的截图和元素坐标等信息发送给 LLM,LLM 结合这些信息来理解用户界面的结构和内容。这种多模态的理解能力,使得 Midscene.js 能够更准确地定位页面元素,执行复杂的交互操作,并从页面中提取所需的数据。

Midscene.js 提供了简化的命令和多种集成方式,进一步提高了自动化测试的便捷性。它主要有三个核心命令:.ai(或.aiAction)、.aiQuery 和 .aiAssert。.ai 用于执行一系列动作,.aiQuery 用于从 UI 中提取数据,.aiAssert 用于进行断言。这些命令都接受自然语言提示作为参数,使用起来非常直观。此外,Midscene.js 可以通过 Chrome 扩展程序快速体验,也可以与 Puppeteer、Playwright 等自动化测试框架集成,或者使用 YAML 脚本进行自动化,为开发者提供了灵活的选择。

Midscene.js 在每次运行后都会生成一个可视化报告,这个报告详细记录了每个步骤的执行情况,并提供了动画回放功能。通过这个报告,开发者可以直观地查看自动化测试的全过程,快速定位问题所在。此外,Midscene.js 还提供了一个 Playground 工具,开发者可以在 Playground 中调整提示词,而无需重新运行整个脚本。这大大简化了调试过程,提高了开发效率。

Midscene.js 是一个开源项目,采用 MIT 许可证,开发者可以在自己的环境中运行和使用它。所有从页面收集的数据将直接发送到 OpenAI 或自定义模型提供商,只有开发者和模型提供商可以访问这些数据,不会有第三方平台介入。这种开源和数据安全的特性,使得 Midscene.js 在企业中更具吸引力,开发者可以放心地将其应用于各种项目中。

安装 Chrome 扩展程序:如果你只是想快速体验 Midscene.js 的功能,可以从 Chrome 网上应用店安装 Midscene 扩展程序。安装后,启动扩展程序并配置 OpenAI API 密钥即可开始使用。集成到代码项目:如果你需要将 Midscene.js 集成到自己的代码项目中,可以选择与 Puppeteer、Playwright 等自动化测试框架集成,或者使用 YAML 脚本进行自动化。具体集成方式可以参考 Midscene.js 的官方文档。交互操作:使用 .ai 或 .aiAction 命令来描述交互步骤。例如,await mid.ai('点击登录按钮,然后输入用户名和密码')。在编写提示时,要尽量详细、准确地描述每个步骤,避免使用过于简略的指令。数据查询:使用 .aiQuery 命令来提取页面数据。例如,const items = await mid.aiQuery('{name: string, price: number}, 获取商品列表中的名称和价格')。在描述数据格式时,可以使用 JSON 格式,也可以用纯字符串描述。断言验证:使用 .aiAssert 命令来进行断言。例如,await mid.aiAssert('页面上有一个“登录成功”的提示信息')。断言可以帮助验证页面的状态和内容是否符合预期。
功能测试:验证应用的各项功能是否正常工作,如登录、注册、搜索、下单等。回归测试:在应用更新或重构后,使用 Midscene.js 进行回归测试,确保新版本的功能与旧版本保持一致。性能测试:通过自动化测试来评估应用的性能,如页面加载速度、响应时间等。跨平台测试:Midscene.js 支持在不同的浏览器和设备上进行测试,帮助开发者确保应用在各种环境下的兼容性和稳定性。

总之,Midscene.js 以其独特的自然语言交互、强大的多模态 LLM 支持、简化的命令和集成方式、可视化报告和调试工具以及开源和数据安全等优势,为 UI 自动化测试带来了革命性的变化。它不仅提高了测试的效率和准确性,还让测试工作变得更加简单和有趣,值得每位开发者尝试和探索。

来源:梦回故里归来

相关推荐