Ruby on rails测试中硒和水豚的区别?
答
在红宝石整合规范的背景下,
水豚是测试框架和硒是它的驱动程序(运行你的测试在Firefox)中的一个。您可以使用其他驱动程序与水豚(它可以运行您的测试在无头镀铬或根本没有浏览器)。
答
简单的说,水豚的职责是
- 为您提供DSL,使用它可以表达你的浏览器交互
- 要的是DSL翻译的东西它的驱动程序理解
- 与不同的测试框架/库(如rspec)集成
硒(就红宝石世界而言)只是水豚的驱动程序。其职责是:
- 要了解它自己的浏览器集成API(这仍然是较高水平,但没有高水平水豚的DSL)
- 要实际操作浏览器的基础上,给出 的说明
Selenium不直接与浏览器交互。它要么与浏览器驱动程序交互,要么与一个或多个中间节点/服务器进行交互,后者又与浏览器驱动程序进行交互。另外我会质疑Selenium使用的是API,而不是DSL。水豚有一个DSL。 – titusfortner
@titusfortner在两个运动部件 - 水豚和硒的情况下,这是准确的。至于评论......好,更新。 – ndn