Ruby on rails测试中硒和水豚的区别?

Ruby on rails测试中硒和水豚的区别?

问题描述:

硒 - 测试框架
水豚 - 红宝石集成测试工具Ruby on rails测试中硒和水豚的区别?

谁能解释一下,就是在Ruby中的条款on Rails的自动化测试的实际差异硒和水豚?

在红宝石整合规范的背景下,

水豚是测试框架和硒是它的驱动程序(运行你的测试在Firefox)中的一个。您可以使用其他驱动程序与水豚(它可以运行您的测试在无头镀铬或根本没有浏览器)。

简单的说,水豚的职责是

  • 为您提供DSL,使用它可以表达你的浏览器交互
  • 要的是DSL翻译的东西它的驱动程序理解
  • 与不同的测试框架/库(如rspec)集成

硒(就红宝石世界而言)只是水豚的驱动程序。其职责是:

  • 要了解它自己的浏览器集成API(这仍然是较高水平,但没有高水平水豚的DSL)
  • 要实际操作浏览器的基础上,给出
  • 的说明
+0

Selenium不直接与浏览器交互。它要么与浏览器驱动程序交互,要么与一个或多个中间节点/服务器进行交互,后者又与浏览器驱动程序进行交互。另外我会质疑Selenium使用的是API,而不是DSL。水豚有一个DSL。 – titusfortner

+0

@titusfortner在两个运动部件 - 水豚和硒的情况下,这是准确的。至于评论......好,更新。 – ndn