【发布时间】:2015-07-23 11:27:11
【问题描述】:
在 Ruby 领域,我们有 Capybara 和 Webrat 在使用 Cucumber 进行功能测试期间驱动我们的 Web 浏览器。
我在 Groovy/Java-land 中找不到像 Geb 这样的东西,它似乎在比 Capybara 更高的抽象级别上工作。这是the Geb website对Geb的描述。
Geb 是一个浏览器自动化解决方案。
它汇集了 WebDriver 的强大功能和 jQuery 的优雅 内容选择、页面对象建模的稳健性和 Groovy 语言的表现力。
Capybara 已经将 WebDriver(通常是 Selenium)和 jQuery 样式的内容选择结合在一起。但它对Page Object 的想法没有任何支持。 (您创建类来表示被测页面,因此这些步骤对它们执行操作,而不是一直直接查看 DOM。就像您页面的迷你 API。)
举一个我正在寻找的有用功能的例子,我从一位同事那里了解到,Geb 可以自动断言被测页面与虚拟页面对象中的属性相匹配,该虚拟页面对象代表你的 Cucumber 测试页面.
【问题讨论】:
-
谷歌的“Ruby Page Object”给出了这个:github.com/cheezy/page-object。 . .如果这不合适,请考虑在 softwarerecs.stackexchange.com 上提问,因为在 Stack Overflow 主站点上,请求链接或外部资源被认为是题外话。
-
这可能会因为离题而关闭,但试试这个:rubydoc.info/gems/site_prism/frames
-
可能不应该用 [geb] 标记它,因为它并不真正相关。
-
谢谢大家,我已经删除了 [geb] 标签。我认为有 Geb 经验的人可能知道其他语言的替代方案,因为他们在使用 {not Java} 编码时可能会错过框架。没见过softwarerecs,但听起来就是那个地方。如果没有人提供另一个答案,我最终会在找出页面对象 gem 时回答它,但如果模组认为应该关闭它,我很高兴。
标签: ruby cucumber bdd pageobjects