开发日常记录MCP Server:iOS模拟器

最近在探索iOS模拟器自动化测试的新方案时,挖到了个超好用的工具——iOS Simulator MCP Server。它基于MCP协议,能让我在开发过程中更丝滑地操控iOS模拟器,赶紧把研究过程和心得记下来,方便后续复盘和参考。

iOS模拟器MCP服务器

发现的这款iOS Simulator MCP Server,简直是开发者操控iOS模拟器的神器。它基于Model Context Protocol(MCP)开发,能实现和iOS模拟器的深度交互,不管是获取模拟器信息、控制UI操作,还是检查UI元素,都能轻松搞定,在自动化测试和功能调试里绝对是得力助手。

核心功能

  1. 获取模拟器状态
    在调试多模拟器并行运行的场景时,这个功能特别实用。通过它能快速拿到当前启动的iOS模拟器ID,方便我针对性地对特定模拟器进行操作,再也不用在一堆模拟器里“大海捞针”了。

  2. UI交互控制

    • 无障碍元素分析:可以一键描述屏幕上所有可访问性元素,在做无障碍适配测试时,能快速检查页面元素的可访问性属性是否达标。
    • 坐标操作:无论是点击屏幕指定坐标,还是在不同坐标间滑动,都能精准执行。之前做滑动验证、按钮点击效果测试,用它模拟用户操作,结果又快又准。
    • 文本输入:向输入框输入文本变得超简单,在测试表单提交、搜索功能时,能自动填充测试数据,效率提升一大截。
    • 元素查询:输入坐标就能获取对应UI元素的信息,对于排查元素显示异常、定位元素位置特别有帮助。
    • 截图与录制:支持手动启动/停止屏幕录制,截取模拟器屏幕快照。在输出测试报告、记录bug复现过程时,这个功能能直观地呈现问题。
  3. 工具过滤
    通过环境变量IOS_SIMULATOR_MCP_FILTERED_TOOLS,可以灵活过滤指定工具。比如在某些测试场景下,不希望执行截图或录制操作,直接设置环境变量禁用相关工具,避免不必要的操作干扰测试流程。

配置与环境变量

环境变量IOS_SIMULATOR_MCP_FILTERED_TOOLS是个很灵活的配置项,按逗号分隔工具名称,就能过滤掉不想注册的工具。像我在做性能测试时,不希望产生大量截图占用空间,就用下面的命令禁用截图和视频录制工具:

# 禁用截图和视频录制工具  
IOS_SIMULATOR_MCP_FILTERED_TOOLS="screenshot,record_video,stop_recording"  

使用场景:基于MCP工具调用的QA流程

把这个MCP服务器和MCP客户端(比如Cursor)集成后,借助AI助手执行QA任务,简直打开了新世界的大门。每次完成新功能开发,用AI自动验证UI一致性和功能正确性,能快速发现潜在问题,比手动测试高效太多。

使用指南

在Cursor的Agent模式下,用下面这些提示词,就能轻松完成各种测试操作:

  1. 验证UI元素
    Verify all accessibility elements on the current screen
    
  2. 确认文本输入
    Enter "QA Test" into the text input field and confirm the input is correct
    
  3. 检查点击响应
    Tap on coordinates x=250, y=400 and verify the expected element is triggered
    
  4. 验证滑动操作
    Swipe from x=150, y=600 to x=150, y=100 and confirm correct behavior
    
  5. 详细元素检查
    Describe the UI element at position x=300, y=350 to ensure proper labeling and functionality
    
  6. 截图与录制
    Take a screenshot of the current simulator screen and save it to my_screenshot.png
    Start recording a video of the simulator screen
    Stop the current simulator screen recording
    

前置条件

要顺利用上这个神器,得先满足下面这些条件:

  1. 系统要求:必须在macOS系统上,毕竟iOS模拟器只能在苹果系统里运行,而且得提前安装好Xcode和iOS模拟器,Xcode下载地址
  2. 工具依赖
    • 安装Node.js,用来运行服务器。
    • 安装Facebook的IDB工具,它是和模拟器通信的关键,安装指南很详细。

注意事项

实际使用过程中,还得注意这几个坑:

  • 权限要求:一定要确保Xcode和IDB工具配置正确,而且模拟器得处于运行状态,不然会连接失败。
  • 坐标系统:屏幕坐标是以模拟器窗口左上角为原点(x=0, y=0),设置坐标操作时别搞反了。
  • 视频录制路径:默认保存在~/Downloads/simulator_recording_$DATE.mp4,如果想换位置,得提前配置好。

另外,强烈推荐新器集Smcphub.com的MCP客户端。之前在集成其他MCP Server时,遇到过各种头疼的问题,比如认证方式太复杂、不同语言集成困难、维护多个Server成本高、没有调用日志不好排查问题等等。用了Smcphub的客户端后,这些痛点全解决了,开发效率直接起飞! 后续准备再深入研究下,看看能不能把它和项目里的自动化测试流程更好地结合起来。

posted @ 2025-06-04 08:41  SMCPHUB  阅读(63)  评论(0)    收藏  举报