}
var url = system.args[1];
+var run_time = 8; // poll up to seconds
+if (system.args[2] && parseFloat(system.args[2]) > 0) {
+ run_time = parseFloat(system.args[2]);
+}
+
page.viewportSize = {
width: 1200,
height: 1000
};
-var run_time = 8; // poll up to seconds
-if (system.args[2] && parseFloat(system.args[2]) > 0) {
- run_time = parseFloat(system.args[2]);
+// 0: silent, 1: some infos, 2: display console.log() output
+var debug = 2;
+if (typeof system.env['DEBUG'] != 'undefined' && parseInt(system.env['DEBUG']) != NaN) {
+ debug = system.env['DEBUG'];
+ if (debug > 0) console.log("reset debug level to: " + debug);
}
/************************/
result, condition = false;
var interval = setInterval(function () {
- console.log(".");
+ if (debug == 1) console.log(".");
// success
if (condition) {
}, 500); //< repeat check every N ms
};
+// redirect webkit console.log() output
+page.onConsoleMessage = function (message) {
+ if (debug >= 2) console.log(message);
+};
+
+// cat webkit alert()
+page.onAlert = function (msg) {
+ console.log("Alert: " + msg);
+};
+// display HTTP errors
+page.onResourceError = function (resourceError) {
+ // console.log('phantomjs error code: ' + resourceError.errorCode);
+ console.log(resourceError.errorString);
+ phantom.exit(3);
+};
page.open(url, function (status) {
- console.log("fetch " + url + " with status: " + status);
+ if (debug >= 1) console.log("fetch " + url + " with status: " + status);
+
if (status != 'success') {
- console.log("Failed to fetch page, give up");
+ console.log("Failed to fetch page, give up. Network error?");
phantom.exit(1);
}
- console.log("polling MKWS jasmine test status for " + run_time + " seconds");
+ if (debug >= 1) console.log("polling MKWS jasmine test status for " + run_time + " seconds");
+
var exit = wait_for_jasmine(function () {
return page.evaluate(function () {
if (!window || !window.$ || !window.mkws) {
return false;
} else {
+ var passing = window.$(".passingAlert").text() || window.$(".failingAlert").text();
+
return {
mkws: window.mkws,
html: window.$("html").html(),
duration: window.$(".duration").text(),
- passing: window.$(".passingAlert").text()
+ passing: passing
};
}
})
},
function (result) {
+ if (debug < 1) return;
+
+ console.log("");
console.log("MKWS tests are successfully done in " + result.time / 1000 + " seconds. Hooray!");
console.log("jasmine duration: " + result.duration);
console.log("jasmine passing: " + result.passing);