History: PhantomJS and CasperJS
Preview of version: 10
CasperJS is a navigation scripting & testing utility for PhantomJS and SlimerJS (still experimental). It eases the process of defining a full navigation scenario and provides useful high-level functions, methods & syntactic sugar for doing common tasks such as:
defining & ordering navigation steps filling forms clicking links capturing screenshots of a page (or an area) making assertions on remote DOM logging & events downloading resources, even binary ones catching errors and react accordingly writing functional test suites, exporting results as JUnit XML (xUnit)
PhantomJS is a headless WebKit with JavaScript API. It has fast and native support for various web standards: DOM handling, CSS selector, JSON, Canvas, and SVG.
PhantomJS is an optimal solution for fast headless testing, site scraping, pages capture, SVG renderer, network monitoring and many other use cases.
How to install CasperJS and PhantomJS for Tiki
Step 1)
Add, in the composer.json, the following lines to "post-install-cmd" and "post-update-cmd" of the "scripts" section:
"PhantomInstaller\\Installer::installPhantomJS", "CasperJsInstaller\\Installer::install"
Step 2)
Install the following PHP packages (by running these commands on the command line):
composer require --prefer-dist "jerome-breton/casperjs-installer:dev-master" composer require --prefer-dist "phpcasperjs/phpcasperjs"
Step 3)
Use the following script to test (in the root of tiki, adjust path if other folder):
<?php // Require composer autoload require_once __DIR__ . '/vendor/autoload.php'; use Browser\Casper; $casper = new Casper(__DIR__ . '/bin/'); $casper->setOptions(array( 'ignore-ssl-errors' => 'yes' )); // screen shoot of homepage $casper ->start('http://tiki.org') ->setViewPort(1050,1050) ->waitForText('About Tiki') ->wait(200) ->capture( array( 'top' => 0, 'left' => 0, 'width' => 1300, 'height' => 2000 ), 'custom-capture.png' ) ->run();
Related: Browser Automation