SuperAPI AI 工具集

patrol-tests

测试与质量

查看项目

更新于 10-15 23:49

技能介绍

用途:为 Flutter 应用编写 Patrol E2E 测试提供规则与流程指导。

主要能力与规则:

  1. 编写顺序:先检查可复用的现有测试函数,必要时调整;为所需元素分配测试键;在新测试文件中复用函数并编写新步骤;开发中频繁运行测试,每完成一组逻辑步骤即运行;全部通过后再重构为可复用函数并重跑验证。
  2. Patrol MCP 用法:patrol-run({ "testFile": "patrol_test/your_test.dart" }) 运行测试并等待完成;patrol-screenshot({ "platform": "android" }) 或 ios 截图调试;patrol-quit({}) 优雅退出;patrol-status({}) 查看状态与输出;patrol-native-tree({}) 获取原生 UI 树。
  3. API 规则:直接使用 Patrol API 的文件需导入 'package:patrol/patrol.dart';实现前先检查现有用法与 $.platform API,必要时查阅 https://patrol.leancode.co/;不要使用 flutter_test;单测用 Patrol MCP,全部测试用 patrol test,禁止 flutter test;不要自行编写 patrolSetUp 和 patrolTearDown。
  4. 动作与断言:tap、scrollTo、enterText 前后不要加等待方法,Patrol 自动处理,仅在测试末尾使用;查找控件只用键;避免 try catch;动作后不写断言,断言放在测试末尾,优先用 waitUntilVisible,不够时用 expect()。
  5. 原生弹窗:触发后立即处理;原生权限优先用 $.platform.mobile.grantPermissionWhenInUse。
  6. 测试键:只给参与测试的控件加键,只加 key 参数,不改签名、不重构、不新建控件;键来自应用与测试共享的 keys 文件,不硬编码;键值唯一并按字母排序;键作为构造器第一个参数;动态生成控件用参数化键,优先用已有枚举或 DTO 作参数。

限制:资料未提供安装命令、收费、平台支持范围等具体信息。