SuperAPI AI 工具集

geb-testing

测试与质量

查看项目

更新于 10-15 16:51

技能介绍

用途:帮助编写、生成、修复或审查基于 Geb 与 Spock 框架的浏览器自动化测试,提供中级最佳实践并生成规范测试结构。官方 Geb 文档位于 https://groovy.apache.org/geb/manual/current/。

主要能力:生成与审查 Geb 测试规格;输出包含 Page Object、Module 和 Spec 文件的结构示例;推荐选择器策略与等待模式;提供常见交互模式与反模式清单。

核心原则:始终使用 Page Objects,不在 spec 中内联选择器;每个 Page Object 必须声明 static at;优先使用 CSS 选择器而非 XPath,避免脆弱的 nth-child;动态内容显式使用 waitFor,禁止 Thread.sleep;waitFor 调用尽量封装到继承 geb.Page、geb.Module 或共享测试夹具的方法中;使用 GebReportingSpec 以便失败时截图;规格保持 given/when/then 块,每个 feature 方法一个行为,多步骤行为可含多个 when/then 对;重复 UI 组件使用 Modules。

用法:Spec 继承 geb.spock.GebReportingSpec;Page Object 继承 geb.Page 并声明 static at、static url 与 static content;Module 继承 geb.Module。运行命令、GebConfig.groovy 配置以及依赖安装方式暂未提供。

限制与注意:避免 sleep、when 块中的断言、硬编码绝对 URL、在 spec 中直接访问 DOM、过度使用 @Stepwise 或 required: false。建议在提交前通过引入网络延迟、本地多次重跑和 RepeatUntilFailure 注解来减少 flaky 测试。未提供具体版本兼容、收费或许可信息。