use*_*620 5 javascript testing integration selenium phantomjs
我目前正在开发一个单页javascript应用程序,使用服务器端的Sinatra Ruby和客户端的Backbone.js,jQuery,jQuery UI.应用程序的主要目的是允许客户查看/编辑不同类型的项目,每个项目视图是一种或多或少复杂的形式.
为了确保一切正常,我打算做:
在这种情况下,您建议使用哪些框架/工具进行集成测试?我从Selenium开始,但我不太喜欢它.我刚开始看看PhantomJS和CasperJS,他们看起来非常适合浏览,点击链接等基本内容......
你的建议是什么?
你没有说你不喜欢 Selenium 的什么,但我猜你对 JavaScript 有信心,所以我的建议是使用CasperJS作为主要工具。它确实可以很好地与单页网络应用程序配合使用,并且附带自己的测试工具。wait使用嵌套子句时,代码有时仍然会有点复杂;通过确保您不会在每个测试中尝试做太多事情来解决这个问题,然后如果仍然很复杂,请进行重构。并且不要忘记测试设计:如果您的选择器非常复杂,请考虑<span id="xxxx">...</span>在它周围添加 a ,这样您的测试就可以直接进行!
您可以将 CasperJS 与PhantomJS和SlimerJS一起使用。目前我更喜欢 SlimerJS,因为:
一旦 PhantomJS 2.0 发布(希望在 2013 年底左右),或者如果您的网站不依赖任何最新的 HTML5 API,您可以运行 CasperJS 两次,以获得双重覆盖。(顺便说一句,PhantomJS 自然是无头的;SlimerJS 需要使用Xvfb,仅适用于 Linux 或 Mac。)
Selenium为您提供的额外功能是您可以控制其他浏览器,特别是 IE。(当然,对于 IE,您需要运行 Windows 机器。)Selenium 与 SlimerJS 一样,需要 Xvfb 是无头的(同样,不包括 Windows)。(顺便说一句,受支持的浏览器上的Selenium 文档已经很久没有更新了,但我假设每个浏览器的更高版本至少具有相同的支持。)
| 归档时间: |
|
| 查看次数: |
491 次 |
| 最近记录: |