steptimeout.js
1.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
var failed = [];
var start = null;
var links = [
'http://google.com/',
'http://akei.com/',
'http://lemonde.fr/',
'http://liberation.fr/',
'http://cdiscount.fr/'
];
var casper = require('casper').create({
onStepTimeout: function() {
failed.push(this.requestUrl);
this.test.fail(this.requestUrl + " loads in less than " + timeout + "ms.");
}
});
casper.on('load.finished', function() {
this.echo(this.requestUrl + ' loaded in ' + (new Date() - start) + 'ms', 'PARAMETER');
});
var timeout = ~~casper.cli.get(0);
casper.options.stepTimeout = timeout > 0 ? timeout : 1000;
casper.echo('Testing with timeout=' + casper.options.stepTimeout + 'ms, please be patient.');
casper.start();
casper.each(links, function(casper, link) {
this.then(function() {
this.test.comment('Loading ' + link);
start = new Date();
this.open(link);
});
this.then(function() {
var message = this.requestUrl + " loads in less than " + timeout + "ms.";
if (failed.indexOf(this.requestUrl) === -1) {
this.test.pass(message);
}
});
});
casper.run(function() {
this.test.renderResults(true);
});