Skip to content

Ghost Driver is an implementation of the Remote WebDriver Wire protocol, using PhantomJS as back-end

License

Notifications You must be signed in to change notification settings

proverma/ghostdriver

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

90 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ghost Driver

Ghost Driver is a pure JavaScript implementation of the WebDriver Wire Protocol for PhantomJS. It's going to be a Remote WebDriver that uses PhantomJS as back-end.

Status

  • Under development
  • Far from complete
  • Only ~20% of the WireProtocol currently implemented
  • You can monitor development progress at this Google Spreadsheet
  • Core released to get people interested and get contributions
  • Don't raise BUGS: send PULL REQUESTS pleaase!

Presentation and Slides

In April 2012 I presented GhostDriver at the Selenium Conference: slides and video.

Requirements

How to use it

Check out the ghostdriver-dev branch of PhantomJS, and build it (I assume you know Git).

There is plenty to do before this is usable, but if you can't wait to try PhantomJS's speed when it acts as a RemoteWebDriver Server, do the following:

  1. Start GhostDriver on a terminal:

    $> phantomjs ghostdriver/src/main.js
    Ghost Driver running on port 8080
  2. Build and Launch the first Java-based example (to build we use Gradle, already included):

    $> cd ghostdriver/examples/google_cheese/
    $> ./gradlew execServer -Pargs="1 8080"

For a quick speed comparison with other WebDriver implementations, try passing the parameter firefox or chrome to the ./mvnexec.sh script.

Reasoning: pros and cons

Pros of using an Headless browser for your Selenium testing

  • Speed: makes development faster
  • Speed: makes THE developer happier
  • Speed: makes leaves more time for beer, video-games, cycling or whatever you fancy
  • ...

Cons of using an Headless browser for your Selenium testing

  • PhantomJS is not a "Real" Browser, but "just" very very close to on

Contributions

You can contribute testing it and reporting bugs and issues, or submitting Pull Requests. Any help is more than welcome!!!

License

GhostDriver is distributed under BSD License.

About

Ghost Driver is an implementation of the Remote WebDriver Wire protocol, using PhantomJS as back-end

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published