- Under development / almost ready for 1.0
- Code Hardening in progress: before raising bugs, check if's a "not yet implemented" feature first
- ~90% of the WireProtocol currently implemented
- Version 1.0 will implement all the commands EXCEPT the ones related with Mobile WebDrivers (see spreadsheet below)
- DEPENDS ON MY BRANCH OF PHANTOMJS, as mentioned below in the Requirements section
You can monitor development progress at this Google Spreadsheet.
Presentation and Slides
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:
Start GhostDriver on a terminal:
$> phantomjs ghostdriver/src/main.js Ghost Driver running on port 8080
Build and Launch the test suite (written in Java, built with Gradle):
$> cd ghostdriver/test $> ./gradlew test
Register ghost driver with a selenium grid hub
# launch the grid server, which listens on 4444 $> java -jar /path/to/selenium-server-standalone-2.25.0.jar -role hub # register with hub $> phantomjs ghostdriver/src/main.js 8080 http://127.0.0.1:4444
Now you can use your normal webdriver client with http://127.0.0.1:4444 and just request browserName: phantomjs!
Note that simply point your webdriver client to the port GhostDriver listens to also works.
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 one
You can contribute testing it and reporting bugs and issues, or submitting Pull Requests. Any help is welcome, but bear in mind the following base principles:
- Squash your commits by theme: I prefer a clean, readable log
- Maintain consistency with the code-style you are surrounded by
- If you are going to make a big, substantial change, let's discuss it first
GhostDriver is distributed under BSD License.