steptimeout.js
1.25 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
46
47
48
/*jshint strict:false*/
/*global CasperError, console, phantom, require*/
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);
});