CasperJS测试获胜't执行后返回

CasperJS test won't return after execution

本文关键字:执行 返回 测试 获胜 CasperJS      更新时间:2023-11-17

我在执行后让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为:http://ym.cms2cms/auth/loginPASS HTTP状态码200 OKPASS 2测试在1.596秒内执行,2次通过,0次失败,0次可疑,0次跳过。

http://screencast.com/t/5ZmTZLK3C5Bk

删除调用测试的号码,如下所示:

casper.test.begin('Cow can moo', function suite(test) {

根据Casper JS Api的说法,它指的是计划的数量,你只指定了2个测试。我发现完全删除它效果很好,并且只在需要时指定。

文档中的注意事项:如果给定的测试脚本突然中断,使您无法清楚地了解它,并且错误地处于成功状态,那么计划中的参数尤其有用。