0

多くのテストのすべての名前とルートを含む、1 つの配列を持つ「ランチャー」スクリプトがあります。すべてのテストを実行すると、キャスパーはすべてのテストの合計実行時間のみを表示します。各テストスクリプトにどれくらいの時間が必要かを示す必要があります.casperjsにはこれを行う方法がありますか?

param '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.
4

1 に答える 1

2

最後に、launcher.jsでこの関数を使用してこれを解決しました

var start = Date.now();
casper.test.on('success', function tiempo() {
    casper.echo(Date.now()-start + "ms");
    start = Date.now();
});

この関数は、各テストがイベント「成功」を実行したときに開始されます。

于 2015-05-27T10:36:20.447 に答える