Skip to content
This repository has been archived by the owner on May 30, 2023. It is now read-only.

Related Projects

Piotr Kuczynski edited this page Mar 25, 2014 · 48 revisions
## In the Family ## The following projects are based on PhantomJS. They provide extra functionalities.
  • Casper.js is useful to build scripted navigation and testing.

  • Chutzpah is a JavaScript test runner which runs from Visual Studio, the command line, TeamCity or your favorite CI server. It can run directly on JavaScript, CoffeeScript and TypeScript files and has built in code coverage support.

  • Ghostbuster simplifies the testing setup with more convenient wrappers.

  • GhostDriver implements Remote WebDriver Wire protocol for PhantomJS. Although it is developed separately, it has been a part of PhantomJS core since PhantomJS 1.8.

  • Lotte adds jQuery-like methods, chaining, and more assertion logic.

  • Poltergeist is a driver for Capybara so you can run your Capybara tests using PhantomJS.

  • pjscrape combines PhantomJS with jQuery as a command-line scraping tool.

  • WebSpecter is a BDD-style acceptance test framework for web applications.

  • conjure lets you write CasperJS tests in BDD-style modules and run them with variable concurrency. Also provides additional stack tracing, helpers and module bootstrapping.

  • PhantomJS Google Charts lets you capture the svg data for charts produced by Google's JSAPI and use it server side. Examples would be to inject the charts into a PDF or to convert it to a JPG.

## Screenshot Utilities ##

Several page capture projects utilizing PhantomJS:

  • command-line
    • capturejs (Node.js)
    • pageres - get screenshots of website(s) in few different resolutions to make sure they are responsive (Node.js)
    • phantomjs-screenshots, a system for running screenshot tasks defined in JSON format (Node.js)
  • web-service
  • API
    • Node.js:
      • node-webshot
      • pageres, a command-line tool and Node.js module to get screenshots of website(s) in few different resolutions to make sure they are responsive (uses Node.js)
    • Django
    • PHP
      • PHP Screen a PHP interface to Phantom JS to make website screenshots.
    • Sinatra
      • grabshot, a simple Sinatra-based API to take screenshots and respond asynchronously to a provided callback URL.
## Tools ##
  • basset command-line website performance sniffer.

  • Compass Magick is a dynamic image generation for Compass using (among others) PhantomJS.

  • Confess is small script library that uses PhantomJS to headlessly analyze web pages for the purposes of creating a cache manifest file.

  • GhostStory is a collection of Cucumber steps for automated CSS testing with SpookyJS, CasperJS, PhantomJS, PhantomCSS and Node.JS.

  • Grover is a wrapper to automatically run YUI Test based tests.

  • Grunt is a task-based command line build tool for JavaScript projects using PhantomJS for unit test automation.

  • Guard PhantomJS automatically runs PhantomJS using Guard.

  • phantomjs-node provides PhantomJS bridge for Node.js applications.

  • node-phantom is a bridge between PhantomJS and Node.js.

  • phantom-proxy provides a proxy interface for PhantomJS which runs inside of node.

  • phantomas is a web-performance metrics and hints generation tool.

  • PhantomCSS enables automated visual regression testing.

  • PhantomFlow provides a syntax for describing user flows as tests which can then be visualized as an interactive tree graph. Built on CasperJS, integrates with PhantomCSS and uses D3.js for visualization.

  • "phantomjs" is a Node.js module to download/install PhantomJS and provide its executable path (and that's all). Used by Grunt in grunt-lib-phantomjs for higher-level use in grunt-contrib-qunit, etc.

  • PhantomLint uses PhantomJS to run JSLint on JavaScript application code.

  • PhantomXHR isolates UI from server API for fast automated UI testing.

  • shortcut.io uses PhantomJS to generate the screenshot of the bookmarked web sites.

  • Slippy uses PhantomJS to convert HTML presentations into PDFs that can be e.g. uploaded to SlideShare.

  • SpookyJS drives CasperJS from Node.js over HTTP or stdio.

  • Yeoman is a robust and opinionated client-side stack, comprised of tools and frameworks that can help developers quickly build beautiful web applications. It uses PhantomJS (via Grunt) as a basis for headless tests.

Clone this wiki locally