将旧项目升级到水豚

Upgrade old project to capybara

我们现在正在使用 Ruby、Cucumber 和 Selenium 来执行我们的集成测试。

现在我们想提高测试质量,因此我们想使用 Capybara。

既然我们所有的方法都需要为此重写,我们认为也许有人已经这样做并为 selenium webdriver 编写了一个包装器,由 Capybara 完成。

例如:

包装器应替换以下内容:

driver.navigate_to "/home"

类似于

visit "/home"

关键是,我们不想重写所有代码,因为在我看来,功能是完全相同的,为驱动程序编写包装器应该不难,它会自动执行此操作.意思是:navigate_to方法只是调用了一个访问方法,我很高兴。

我必须自己写这个,还是已经写好了?

非常感谢!

不,没有现成的包装器。

您似乎忽略了一个事实,即 Capybara 本身就是 selenium-webdriver 的包装器,因此您要求在 selenium 的包装器周围使用与 selenium 兼容的包装器。再加上如果您所做的只是用 Capybara 命令模拟现有的 selenium 命令,您将不会从 Capybara 获得任何东西,所以这是毫无意义的。听起来您的团队最好保留现有测试,使用 Capybara 编写所有新测试,并且由于现有测试需要 change/maintenance 重写它们以使用内置的 Capybara waiting/retrying 和更友好 API.