Skip to content

Using Intern with PhantomJS

jason0x43 edited this page Nov 7, 2014 · 15 revisions

PhantomJS is not a suitable replacement for testing in real browsers. Do not use PhantomJS unless you are aware of the caveats of testing against fake browsers.

While PhantomJS is not a suitable replacement for testing in real browsers, it is often quicker and easier to test with PhantomJS when writing your tests and then let your CI service handle running tests across all platforms.

Using a local PhantomJS installation with Intern is very simple:

  1. In your Intern configuration, set environments: [ { browserName: 'phantomjs' } ] and tunnel: 'NullTunnel'
  2. Ensure that the directory containing the phantomjs executable is in your PATH
  3. Start your local Selenium server
  4. Run intern-runner config=path/to/config

Note that you use PhantomJS through Selenium rather than starting it directly with phantomjs --webdriver=port. At least up to PhantomJS version 1.9.8, there's a bug in the webdriver server used by PhantomJS that prevents Intern from communicating with it directly.