是否有可能在不使用rails的情况下使用Cucumber测试javascript-heavy Web应用程序?

问题描述:

我想设置黄瓜测试基于PHP的Web应用程序。该应用程序有很多基于JavaScript的动态功能。从我的谷歌搜索,这似乎意味着我应该与Celerity/Culerity或水豚为我的网页浏览的宝石。但是,我似乎无法找到任何有关如何使用这些系统测试非Rails应用程序的好例子。他们的所有文档都假设我正在使用Rails或Rack应用程序。是否有可能在不使用rails的情况下使用Cucumber测试javascript-heavy Web应用程序?

长话短说:我吠叫错了树吗?在没有Rails的情况下使用这些实用程序是否可行?如果是这样,你能指点我一些资源和/或例子如何做到这一点?

这是绝对实用的,我们正在使用它来测试在Windows上使用Capybara的JS沉重的遗留.NET Web应用程序。我能想到的最好的资源是The Cucumber Book

通常,Capybara很容易设置为非Rack应用程序,您只需将app_host配置为指向已部署的PHP站点的URL即可。

您也无法访问应用程序中的模型类,这在处理Rails应用程序时很有用,因此您无法使用相同的模型轻松地将用户注入数据库。我们最终创建了ActiveRecord模型,仅仅是为了操纵和维护测试数据,这是一个不幸的重复。如果你的应用公开了一个可以用来代替的API,那么这可能是一个比这更好的解决方案!它很大程度上取决于您的应用程序的工作原理以及测试方式。

我正在测试一个使用Perl构建的网站。我用Watir-webdriver使用黄瓜。有一些很好的教程使用它。我发现最容易的一个是从他的Watirmelon Blog的Alister Scott。像Jon M说的那样,The Cucumber Book非常棒。它会引导您完成所有任务,即使您不使用Rails也很有用。我也使用Rubymine,这是一个支持Cucumber的IDE。它提供了语法突出显示,甚至可以帮助存档代码(主要是保存一些复制/粘贴)。另外,它集成到我的源代码控制系统中,这非常适合查看自从我上次提交以来我碰过哪些文件,而无需用Tortoise查看文件。

FWIW,我在Win7上开发。