如何使用 casperjs 显示每次测试的时间

How show time for each test with casperjs

我有一个 "launcher" 脚本,其中包含一个数组,其中包含许多测试的所有名称和路径。当我 运行 所有测试时,casper 只显示 运行 所有测试的总时间。 我需要显示每个测试脚本需要多少时间,casperjs 有什么方法可以做到这一点吗?

当使用参数 'all' 时,我 运行 所有测试。

var testsPaneles = [
    ["Panel1", "./Paneles/testPanel1.js"],
    ["Panel2", "./Paneles/testPanel2.js"]
]

if (casper.cli.get('arg') == 'all') {
    casper.start()
        .then(function() {
        casper.test.begin('Bateria de pruebas ', function suite(test) {
            for (i = 0; i < testsPaneles.length; i++) {
                var prueba = require(testsPaneles[i][1]);
                prueba();
            }
        });
    }).run(function() {
        this.test.done();
    });
}

结果:

# Bateria de pruebas Panel Operador
# Test Panel Oper - Clientes
PASS Input Usuario
PASS Input Password
# Test Panel-Oper - Portfolio
PASS Input nombre usuario
PASS Input pass usuario
PASS 4 tests executed in 4.23s, 4 passed, 0 failed, 0 dubious, 0 skipped.

我想要这样的东西:

# Bateria de pruebas Panel Operador
# Test Panel Oper - Clientes
PASS Input Usuario
PASS Input Password
**Time: 1.59s**
# Test Panel-Oper - Portfolio
PASS Input nombre usuario
PASS Input pass usuario
**Time: 2.24s**
PASS 4 tests executed in 4.23s, 4 passed, 0 failed, 0 dubious, 0 skipped.

最后我在launcher.js

中使用这个函数解决了这个问题
var start = Date.now();
casper.test.on('success', function tiempo() {
    casper.echo(Date.now()-start + "ms");
    start = Date.now();
});

此函数在每次测试运行事件"success"时启动。