headless Testing
phantomjs的好处之一就在于可以用来做Headless Testing,浏览器本身并没有测试框架,但它可以被其它软件调用。
下表总结了一些测试框架和对应的运行器,如果不需要第三方运行器,则标为Build-in
Framework | Test Runner |
---|---|
Buster.JS | built-in |
Capybara | Poltergeist, Terminus |
Mocha | Chutzpah, mocha-phantomjs |
FuncUnit | built-in |
Hiro | built-in |
Karma (née Testacular) | built-in |
Jasmine | Chutzpah, grunt-contrib-jasmine, guard-jasmine, phantom-jasmine |
JsTestDriver | js-test-driver-phantomjs |
Laika | built-in |
Preamble | built-in |
phantom-assert | built-in |
QUnit | qunit-phantomjs-runner, Chutzpah, JS Test Runner, Qlive, QUnited |
Robot Framework | phantomrobot |
Rx Test Runner | built-in |
tapedeck | built-in |
Testem | built-in |
Venus.js | built-in |
WebDriver | GhostDriver |
wru | built-in |
YUITest | Grover, phantomjs-yuitest |
持续整合系统(CI)
在CI系统中可以使用phantomJS,只要确保phantomjs被用户安装就可以。
linux用户可以不需要X11来运行phantomjs,因为phantomjs是完全不用界面的。travis CI系统对phantomjs的支持是内建的,具体可以看文档