multirun.js 1.28 KB
var casper = require('casper').create({
    verbose: true
});

function countLinks() {
    return document.querySelectorAll('a').length;
}

var suites = [
    function(self) {
        self.echo('Suite 1');
        self.start('http://google.com/', function(self) {
            self.echo('Page title: ' + self.getTitle());
        }).then(function(self) {
            self.echo(self.evaluate(countLinks) + ' links');
        });
    },
    function(self) {
        self.echo('Suite 2');
        self.start('http://yahoo.com/', function(self) {
            self.echo('Page title: ' + self.getTitle());
        }).then(function(self) {
            self.echo(self.evaluate(countLinks) + ' links');
        });
    },
    function(self) {
        self.echo('Suite 3');
        self.start('http://bing.com/', function(self) {
            self.echo('Page title: ' + self.getTitle());
        }).then(function(self) {
            self.echo(self.evaluate(countLinks) + ' links');
        });
    }
];

casper.start().then(function(self) {
    self.echo('Starting');
});

var currentSuite = 0;

function check(self) {
    if (suites[currentSuite]) {
        suites[currentSuite](casper);
        currentSuite++;
        casper.run(check);
    } else {
        self.echo('All done.').exit();
    }
}

casper.run(check);