这个问题可能会引起非常主观的答案,因此我将从我的角度回答您的问题,并尝试为我的想法提供一些解释。为了明确事情,我是 Geb 的粉丝,自从我发现它以来,我想解释一下原因: 页面对象模式 Geb 以非常实用的方式支持页面对象模式。您可以使用类似于 jQuery 的语法定义元素,并在页面对象上使用继承来创建易于维护的抽象层。 jQuery Navigator 语法 使用 jQuery Navigator 语法实现网页的抽象层从未如此简单。在我看来,编写测试应该尽可能简单,以使它们在截止日期和固定预算的现实世界中变得更容易。 良好的文档 Geb 有一份写得很好的文档,使得很容易获得关于框架的帮助,并帮助我解决了几乎所有我遇到的问题。 与测试框架的集成 与 Java 世界中最常见的测试框架的集成非常好,对于 JUnit 和 Spock,我没有发现任何阻碍我使用 Geb 编写良好测试的问题。它还与 Cucumber 和 EasyB 集成。