在rails应用程序中对Javascript重UI进行集成测试的最佳方法是什么?

Jos*_*hua 6 javascript ruby-on-rails ruby-on-rails-3

我们有一个Web应用程序,可以在UI中广泛使用AJAXy Javascript.我们使用Shoulda和Webrat对我们的后端进行了几乎完整的代码覆盖,并且希望扩展我们的测试套件以包括通过Javascript UI进行的完整集成测试.

我们尝试过Selenium,但发现它很脆弱和气质.有更可靠的选择吗?

UPDATE

对于那些仍在检查的人,我们最终使用Xvfb,因此我们可以在没有屏幕的情况下运行Firefox.允许我们在无头的Jenkins CI服务器上运行测试.我们仍然需要偶尔在本地运行测试以进行调试,但它运行良好.

nzi*_*nab 1

嗯,我想给 Capybara 看看,它可以使用 selenium-webdriver (不要与 selenium-RC 混淆,它们是不同的)进行 javascript 测试。与 Webrat 相比,我还没有发现它很脆弱......它似乎相当一致。

正如 Chris Rueber 所说,实际上并没有任何支持 JS 的无头 DOM 解释器 - 目前它会启动一个 Web 浏览器来实现自动化,或者在 javascript 本身中编写单元测试(这也不是真正的集成测试)。

当您有大量 selenium-webdriver 支持的测试时,有时它们可​​能需要一段时间才能运行,但这肯定比没有测试要好。