Update CasperJS and refactor tests

This commit is contained in:
Dávid Szabó
2016-08-31 14:11:29 +02:00
parent 52eaa8b170
commit 0238dffe71
7 changed files with 78 additions and 65 deletions

View File

@@ -1,42 +1,48 @@
(function () {
var tests = require('./test/drawing/DrawingTests.casper.js').tests;
var tests = require('../drawing/DrawingTests.casper.js').tests;
// Polyfill for Object.assign (missing in PhantomJS)
casper.options.clientScripts.push('./node_modules/phantomjs-polyfill-object-assign/object-assign-polyfill.js');
var baseUrl = casper.cli.get('baseUrl')+"?debug";
var resultSelector = '#drawing-test-result';
casper.start();
var runTest = function (index) {
var test = 'drawing/tests/' + tests[index];
casper.test.begin('Drawing Tests', tests.length, function(test) {
casper.start();
casper.open(baseUrl + "&test-run=" + test);
var runTest = function (index) {
var currentTest = 'drawing/tests/' + tests[index];
casper.then(function () {
this.echo('Running test : ' + test);
this.wait(casper.cli.get('delay'));
});
casper.open(baseUrl + "&test-run=" + currentTest);
casper.then(function () {
this.echo('... Waiting for test result : ' + resultSelector);
this.waitForSelector(resultSelector, function () {
// then
var result = this.getHTML(resultSelector);
this.echo('... Test finished : ' + result);
this.test.assertEquals(result, 'OK');
}, function () {
// onTimeout
this.test.fail('Test timed out');
}, 60*1000);
})
.run(function () {
if (tests[index+1]) {
runTest(index+1);
} else {
this.test.done();
}
});
};
casper.then(function () {
this.echo('Running test : ' + currentTest);
this.wait(casper.cli.get('delay'));
});
runTest(0);
casper.then(function () {
this.echo('... Waiting for test result : ' + resultSelector);
this.waitForSelector(resultSelector, function () {
// then
var result = this.getHTML(resultSelector);
this.echo('... Test finished : ' + result);
test.assertEquals(result, 'OK');
}, function () {
// onTimeout
test.fail('Test timed out');
}, 15*1000);
})
.run(function () {
if (tests[index+1]) {
runTest(index+1);
} else {
test.done();
}
});
};
runTest(0);
});
})();