Skip to main content

借助全新的 MCP 示例,利用AI助手增强 Squish GUI 测试

为了帮助您开始使用 Qt Group 的质量保证工具和AI助手,我们将分享 Squish 模型上下文协议(MCP)的实现示例。如果您正在使用 Squish 进行 GUI 自动测试,这个集成示例将为您带来全新的可能性。它可以加快测试脚本的开发速度,协助测试脚本维护,并改进 CursorClaude for desktop等应用程序中AI辅助工作流的测试结果分析

通过Squish MCP,AI助手可以直接访问正在运行的测试脚本和测试运行结果,用于后续的改进和分析。下面的视频阐明了其优势,并展示了如何通过 Claude for desktop 运行两个针对Qt/C++编写的地址簿应用程序的Squish测试脚本:

 

初次接触Squish? Squish是专业的GUI测试框架,支持 Android(包括 Android Automotive)、macOS、iOS、Linux和Windows 应用程序的自动化测试 。它还可以测试嵌入式目标的原生和跨平台工具包。 更多信息请访问我们的 产品页面产品文档 ,Qt开发者可参考此页面

什么是Squish MCP

模型上下文协议 (Model Context Protocol,MCP)是一种向AI助手暴露外部工具和信息的方式。面向测试自动化开发者的AI助手通常运行在桌面环境,因此将测试工具集成到AI助手上是非常理想的。Squish 具有清晰的架构和匹配CI/CD环境的命令行工具。从 已发布的 MCP 示例代码 中可以看出,些命令行工具可以轻松提供给AI助手使用

下图解释了 Squish MCP 在桌面环境中的设置

Screenshot 2025-04-17 at 17.12.31

第1项和第2项AI助手(如Claude for desktop)同时运行 MCP 客户端和 MCP 服务器

第 2 项 MCP 服务器 squishrunnermcp.py 封装了 Squish 命令行工具 squishrunner ,当AI助手运行测试脚本或测试套件时会调用该工具。

第 3 项 Squish Runner 通过套接字连接到 Squish Server

第 4 项 Squish Server 调用被测应用程序(AUT)-- 视频中演示的是Qt/C++编写的地址簿应用--并将测试结果传回AI助手

请注意,相同的 MCP 服务器设置适用于 Squish 支持的所有平台和GUI工具包,包括 Windows MFC/WPF、Java Swing、Apple 的 UIKit、Android、Web 等。

优势和命令示例

如视频所示,Squish MCP 在 AI 辅助工作流中有以下几个优势

  1. 控制: 通过AI助手直接使用 Squish MCP 执行单个 Squish 测试脚本或完整的测试套件
  2. 分析: 在AI辅助调试和测试脚本维护中充分利用测试结果
  3. 创建 通过AI助手直接访问测试结果,快速创建新的 Squish 测试脚本,并在无需离开AI 助手的情况下验证测试脚本

 

使用 Squish MCP 试用的命令示例包括

  • "Run_tst_general
    • 运行单个测试 脚本
  • "Execute//projects/addressbook/suite_py
    • 用于运行完整测试套件及包含的所有测试脚本
  • "Analyze and explain the error, see from git logs if there was a change explaining. Suggest changes to the test script and rerun the test script with the suggested changes"(分析并解释错误,从 git 日志中查看是否有更改解释。建议修改测试脚本,并使用修改建议,重新运行测试脚本 " )
    • 运行测试脚本出错后
  • ”Create a new test case based on tst_adding and add there 10 names with hangul characters and run it in the end” ( tst_adding 的基础上创建一个新的测试用例,并在其中添加 10 个带有 "hangul " 字符的名称,最后运行该测试用例。)
    • 协助生成样本数据

 

如何开始

点击此处 ,获取Squish MCP示例的AI助手设置说明。请确保已安装Squish,并配备兼容MCPAI助手(如CursorClaude for desktop)。

为了获得AI助手在Squish测试脚本编写中的最佳输出,请确保AI助手能访问 Squish 开发人员文档。请参阅如何在 Cursor 中索引外部文档的说明。与所有 LLM 生成的代码一样,在部署前,请依靠您的专业知识进行最终判断并审核所有生成的代码

结论与未来发展

将 Squish 集成到AI助手中,为更智能、更灵活、更自动化的GUI测试工作流提供了令人兴奋的可能性。我们期待现有的Squish客户和评估团队能够充分利用提供的Squish MCP实现。我们也希望 Squish MCP 能够很好地适用于我们的合作伙伴正在构建的定制AI平台

我们邀请您试用Squish MCP,验证它是否能为您的测试脚本提供帮助,以及它是否能提升您的工作流效率。我们致力于为我们的所有测试工具开发生成式AI和AI辅助工具,并寻求与客户合作改进其测试工作流

需要更多信息

请联系作者Otso Virtanen at @qt.io--Otso 是 Qt Group质量保证事业部生成式AI/AI 计划的产品负责人。有关 Squish 的更多信息,请参阅我们的 产品页面产品文档