SuperAPI AI 工具集

flutter-skill

测试与质量

查看项目

更新于 10-15 19:52

技能介绍

用途:Flutter Skill 用于控制和操作运行中的 Flutter 应用,面向测试、调试与自动化场景,通过 Dart VM Service Protocol 把 AI 代理连接到 Flutter 应用,暴露 UI 检查、手势、状态校验、截图和日志读取等工具。

主要能力:连接方面有 launch_app、connect_app(启动或附加应用);检查方面有 inspect、get_widget_tree、find_by_type(发现 UI 元素与控件结构);交互方面有 tap、enter_text、swipe、scroll_to、long_press、drag;校验方面有 wait_for_element、wait_for_gone、get_text_value、get_checkbox_state;截图有 screenshot、screenshot_element;导航有 go_back、get_current_route、get_navigation_stack;调试有 get_logs、get_errors、hot_reload、get_performance。

安装方式:方式一为 npx(推荐),在 MCP 配置中写 command 为 npx、args 为 ["flutter-skill"];方式二为全局安装,执行 dart pub global activate flutter_skill,配置 command 为 flutter_skill、args 为 ["server"]。

使用方式示例:先 launch_app(project_path: "/path/to/app"),然后 screenshot()、inspect(),再用 tap(key: "element_key") 或 enter_text(key: "field_key", text: "value") 操作,最后用 wait_for_element 或 get_text_value 验证。登录流程示例为依次输入邮箱、密码、点击登录按钮并等待 home_screen。若 wait_for_element 超时,可调 screenshot() 查看当前状态,再调 get_errors() 检查崩溃或网络请求失败。调试运行中的应用可 connect_app(uri: "ws://127.0.0.1:50000/ws"),再依次 get_errors()、get_logs()、screenshot()、inspect()。

元素定位优先级:key(最可靠,由开发者通过 ValueKey 设置)、text(可见文本内容,文本变化即失效)、type(通过 find_by_type 匹配,可能命中多个元素)。为保证定位可靠,应用宜在交互元素上使用 ValueKey,例如 ElevatedButton 的 key 设为 const ValueKey('submit_button')。

校验要点:launch_app() 后确认返回 VM Service URI;inspect() 后确认返回交互元素,若为空可能仍在加载,可截图后重试;手势操作后截图确认 UI 是否按预期更新;导航后用带超时的 wait_for_element 等待目标,超时则用 get_errors() 诊断。

限制:资料未说明平台支持范围、收费、价格与性能指标,暂未提供。