zulip/zephyr/tests/frontend/common.js

60 lines
1.7 KiB
JavaScript
Raw Normal View History

// Set default viewport size to something reasonable
casper.page.viewportSize = {width: 1280, height: 768 };
// Capture screens from all fails
var casper_failure_count = 1;
casper.test.on('fail', function failure() {
if (casper_failure_count <= 10) {
casper.capture("/tmp/casper-failure" + casper_failure_count + ".png");
casper_failure_count++;
}
});
var common = (function () {
var exports = {};
exports.log_in = function () {
casper.start('http://localhost:9981/accounts/login', function () {
// Fail if we get a JavaScript error in the page's context.
// Based on the example at http://phantomjs.org/release-1.5.html
//
// casper.on('error') doesn't work (it never gets called) so we
// set this at the PhantomJS level. We do it inside 'start' so
// that we know we have a page object.
casper.page.onError = function (msg, trace) {
casper.test.error(msg);
casper.echo('Traceback:');
trace.forEach(function (item) {
casper.echo(' ' + item.file + ':' + item.line);
});
casper.exit(1);
};
});
casper.then(function () {
casper.test.info('Logging in');
casper.fill('form[action^="/accounts/login"]', {
username: 'iago@humbughq.com',
password: 'FlokrWdZefyEWkfI'
}, true /* submit form */);
});
};
exports.log_out = function () {
casper.then(function () {
casper.test.info('Logging out');
casper.click('li[title="Log out"] a');
});
};
return exports;
}());
// For inclusion with CasperJS
try {
exports.common = common;
} catch (e) {
}