
CasperJS is an open source navigation scripting and testing utility written in Javascript and based on PhantomJS — the scriptable headless WebKit engine. It eases the process of defining a full navigation scenario and provides useful high-level functions, methods and syntactic sugar for doing common tasks such as: defining and ordering browsing navigation steps; filling and submitting forms; clicking and following links; capturing screenshots of a page (or part of it); testing remote DOM; logging events; downloading resources, including binary ones; writing functional test suites, saving results as JUnit XML; scraping Web contents;