You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on May 30, 2023. It is now read-only.
ariya edited this page Sep 23, 2012
·
34 revisions
One major use case of PhantomJS is headless testing of web applications. It is suitable for general command-line based testing, within a precommit hook, and as part as a continuous integration system.
Test Frameworks
PhantomJS itself is not a test framework, it is only used to launch the tests via a suitable test runner.
The following test frameworks have built-in support for PhantomJS.
In addition, there are projects which are built on top of PhantomJS to provide convenient high-level functionality for testing purposes:
Casper.js is useful to build scripted navigation and testing
Lotte adds jQuery-like methods, chaining, and more assertion logic
WebSpecter is a BDD-style acceptance test framework for web applications
Continuous Integration Systems
Using PhantomJS with CI system such as Jenkins or TeamCity does not require special setup. Make sure PhantomJS is installed properly on the slave/build agent and it is ready to go.
Since PhantomJS is purely headless on Linux, the agent can run on an installation with any GUI. This means, a barebone Linux system without X11 is not a problem for PhantomJS. It makes it possible to spawn light build agents on Amazon EC2 or Heroku instances.
Travis CI, a popular hosted CI system, has built-in support for PhantomJS. See its documentation for details.