我在执行后让casperjs测试退出时遇到问题,我必须点击CTL-C才能退出执行。
misc.js
var require = patchRequire(require);
var site = {
goToSite: function (url) {
casper.start(url, function checkSite() {
this.test.assert(this.getCurrentUrl() === url, 'Url is: ' + this.getCurrentUrl());
this.test.assertHttpStatus(200, 'HTTP status code 200 OK');
});
},
login: function () {
casper.then(function fillTheForm() {
this.fill("form[action='/auth/login']", {
'email': 'login@email.com',
'password': 'pass'
}, true);
}
);
}
};
module.exports.site = site;
test.js
var system = require('system');
var misc = require('./misc');
casper.options.logLevel = "debug";
casper.options.verbose = true;
casper.on("resource.error", function(errorCode, errorString, url, id){
this.echo(errorString);
});
casper.on("page.error", function(msg, trace){
this.echo(msg);
});
casper.on("remote.message", function(message){
this.echo(message);
});
casper.test.begin('Cow can moo', 2, function suite(test) {
var url = "http://ym.cms2cms/auth/login";
misc.site.goToSite(url);
misc.site.login();
casper.run(function () {
test.done();
});
});
终端
PASS Url is: http://ym.cms2cms/auth/login PASS HTTP status code 200 OK PASS 2 tests executed in 1.596s, 2 passed, 0 failed, 0 dubious, 0 skipped.
答案 0 :(得分:0)
从调用测试中删除号码,如下所示:
casper.test.begin('Cow can moo', function suite(test) {
根据Casper JS Api,它指的是计划的数字,你只用1个测试指定2。我发现删除它总体上运作良好,并且只指定是否需要。
来自doco的注意事项:如果给定的测试脚本突然中断,计划的参数特别有用,让您没有明显的方法来了解它并且错误地成功了。