2016-07-02 8 views
3

再使用可能なジャスミンマッチャーを作成して、N秒未満で実行する機能をアサーションできますか?我々は、特定のUI実行ステップは、時間制限を超えていないことを主張したい分度器やカスタムパフォーマンステストでこれを拘束したいジャスミンによる機能実行時間の追跡

expect(someFunction, [arg1, arg2]).toBeCompletedForLessThan(3); 
expect(obj.someMethod, [arg1, arg2]).toBeCompletedForLessThan(5); 

サンプル期待スタイル。

答えて

3

は、私は、カスタムタイマーで経過時間を計測し、その後.toBeLessThanで結果を主張します:

var timer = Timer(); 

$("#mytext").getText().then(function(text){ 
    console.log(text); 
}); 

expect(timer.elapsed).toBeLessThan(1000); // to be under 1 second 

タイマー:

var Timer = function() { 
    var starttime = 0; 

    browser.controlFlow().execute(function() { 
    starttime = Date.now() 
    }); 

    return { 
    get elapsed() { 
     return browser.controlFlow().execute(() => Date.now() - starttime); 
    } 
    }; 
}; 
+0

は非常に有望と論理的なルックスを。私は実際にそれを試みます。再度、感謝します。 – alecxe

関連する問題