JavaScript现在无处不在。随着jQuery和其他关联的JavaScript框架的出现,将非常强大的用户交互添加到网站和Web应用程序变得非常简单。但是,随着JavaScript和AJAX的加入,从HTTP转向更加异步的模式的提出带来了新的挑战。

当然可以使用硒。但是人们使用了哪些其他框架?我目前对以下内容感兴趣:


PhantomJS
EnvJS
PyQT


#1 楼

如果您喜欢BDD样式测试/规范,我建议您看一下Jasmine。似乎也越来越受欢迎。网上有一些使用Jasmine的截屏视频,因此您入门时应该没有问题。在以下位置进行检查:http://pivotal.github.com/jasmine/

#2 楼

我认为qUnit是javascript的流行测试框架,尽管我还没有亲自使用过。 jQuery使用它,但是:http://docs.jquery.com/Qunit

#3 楼

我一直在使用zombie.js进行无头测试。不幸的是,它没有像Jasmine中的Spies这样的好东西,但是如果需要,您可以使用jasmine-node。

#4 楼

为什么要进行无头测试?仅仅是由于环境(例如我希望能够在没有图形子系统的构建服务器上运行一些自动化测试)吗?

不管上面的答案如何,无论如何您选择的解决方案,最终的目标环境将决定您的答案。例如,您可以使用HtmlUnit WebDriver(http://htmlunit.sourceforge.net/)。就我的目的而言,我不考虑使用它,因为底层的JavaScript引擎是Rhino,而且我所支持的浏览器都不使用Rhino引擎。这样,任何失败(或就此而言,成功的测试)将需要额外的步骤来确定失败是由于工具使用的Java脚本引擎还是由于代码失败或二者的某种组合。 br />
虽然没有这些引擎可用的工具列表,但是如果目标环境在这些浏览器中,请考虑使用以下引擎的工具:


Chrome- V8 JavaScript引擎
Firefox-Gecko JavaScript引擎
IE9-Chakra
Safari-WebKit

为了测试这些引擎,我更喜欢使用使用Selenium的浏览器。 />