When comparing selenium-webdriverjs vs CasperJS, the Slant community recommends selenium-webdriverjs for most people. In the question“What are the best Javascript end-to-end testing tools?” selenium-webdriverjs is ranked 7th while CasperJS is ranked 10th. The most important reason people chose selenium-webdriverjs is:
The [documentation](http://selenium.googlecode.com/git/docs/api/javascript/index.html) covers all the modules (including browser-specific ones) and data types. It also includes a change log. There is also a [Wiki on GitHub](https://github.com/SeleniumHQ/selenium/wiki/WebDriverJs).
Ranked in these QuestionsQuestion Ranking
Pros
Pro Extensive documentation
The documentation covers all the modules (including browser-specific ones) and data types. It also includes a change log. There is also a Wiki on GitHub.
Pro Allows screenshots (either the full page or parts of it) if performing UI testing
There are times where you don't want to open up a browser for screencaps, that is where CasperJS comes to use, it can render the page using its own rendering engine and take and save a screenshot for you, all via the commandline
Pro Easy to understand
Pro Written in JavaScript
Since all webdevs know JS, the start-up time of learning the framework will be reduced to zero, as your team can be productive from day one.
Pro Easily integrates with other applications
Due to the simplicity of the framework, not only other libraries can be built with it, but it can be integrated with any web application as well.
Pro Can run javascript code inside pages being tested
Can execute arbitrary javascript or load external JS into the page being tested. This feature is possible due to the presence of a rendering engine, and helps you see the effects of any client side scripting during your tests.
Cons
Con Not for unit testing but rather UI testing
These are two extremely different concepts. CasperJS should be removed from this list
Con Cannot guarantee 100% accurate Webkit-based browser screenshots
QtWebKit is the rendering engine used by CasperJS. Keep in mind this is NOT the same rendering engine as Chrome; hence, if you want to be 100% sure of the results, you must run a Webkit browser (such as Chrome) yourself.