/*jshint strict:false*/ /*global CasperError console phantom require*/ var casper = require("casper").create({ verbose: true }); var countLinks = function() { return document.querySelectorAll('a').length; }; var suites = [ function() { this.echo("Suite 1"); this.start("http://google.com/", function() { this.echo("Page title: " + (this.getTitle())); }); this.then(function() { this.echo((this.evaluate(countLinks)) + " links"); }); }, function() { this.echo("Suite 2"); this.start("http://yahoo.com/", function() { this.echo("Page title: " + (this.getTitle())); }); this.then(function() { this.echo((this.evaluate(countLinks)) + " links"); }); }, function() { this.echo("Suite 3"); this.start("http://bing.com/", function() { this.echo("Page title: " + (this.getTitle())); }); this.then(function() { this.echo((this.evaluate(countLinks)) + " links"); }); } ]; casper.start(); casper.then(function() { this.echo("Starting"); }); var currentSuite = 0; var check = function() { if (suites[currentSuite]) { suites[currentSuite].call(this); currentSuite++; casper.run(check); } else { this.echo("All done."); this.exit(); } }; casper.run(check);