未来是否有计划用 mechanize + johnson 取代 selenium 和 watir?
2 回答
目前,围绕 celerity 的势头似乎最大,它是“orip”提到的围绕 HtmlUnit 的 Jruby 包装器
还有一个围绕 celerity 的非常简洁的包装器“culerity”,它允许您在正常的机器设置中访问 HtmlUnit(运行 Java/JRuby)。Culerity 是 Cucumber 和 Celerity 之间的桥梁。
这非常适合在 Cucumber 中编写测试,我强烈推荐。
这是更多信息:
http://drogomir.com/blog/2009/6/16/cucumber-and-celerity-testing-unobtrusive-javascript
这是 culerity 示例:http: //github.com/drogus/culerity-javascript-example/tree/master
这是 culerity 项目本身也有很好的例子(和一个很好的安装指南) http://github.com/langalex/culerity/tree/master
关于此设置成熟度的说明:几周前我对此进行了实验。我得到了 culerity 示例,并且运行起来相当容易。
另一方面,我在两件事上遇到了问题:
- 我希望它通过 Webrat 访问我的本地 Rails 应用程序并遇到了问题——(Webrat 的 culerity 接口在编写时还不够成熟)。
- 这种方法似乎比通过 Selenium(启动常规浏览器)运行类似测试要慢得多。在我的示例中,硒测试比 culerity 测试快 3-4 倍。
我的一些发现可能是在极端前沿尝试的结果。但是,我仍然认为这将是一种方式,无头浏览器测试将会进行,除了不成熟的 webrat/culerity 界面之外,您可能可以创建一些基于 celerity/HtmlUnit 的不错的测试套件:)
我希望这回答了你的问题。
有点离题,但您已经可以将HtmlUnit用于支持 JS 的无头浏览器以进行测试。使用 JRuby,您甚至可以继续使用 Ruby。