現在CasperJSを掘り下げて本当に楽しんでいます。しかし、多分それは私がドキュメントで逃した何か、私はcasper.capture()に問題があるようだ。私は現在、テストが失敗したときにキャプチャし、CasperJSの複数のキャプチャスクリーンショット:最新のスクリーンショットは、以前のすべてのオブジェクトを上書きします
function captureFailure(filename){
casper.test.on("fail", function(failure){
casper.viewport(1280, 1024);
casper.capture("failedScreenshots/Failure-"+filename+".jpg", {
top: 0,
left: 0,
width: 1280,
height: 1024
});
});
}
exports.captureFailure = captureFailure;
以下のように別のセットアップモジュールでそれを置くために地雷を装備しました。この後、そのように私のテストに入れている:については
. . .
// setup
setup.login();
// test
casper.test.begin("Complete new social campaign flow with image as a signed in user.", 16, function suite(test) {
// setup captureFailure
setup.captureFailure("SocialFlowImage");
casper.start(data.baseURL+'/campaigns/', function(){
console.log("Campaign page loaded");
this.click(campaignCreate);
casper.waitForSelector(socialCampaignCreateModal, function(){
test.assertExists(socialCampaignCreateModal, 'Modal pops up');
test.assertTextExists('Deal', 'Deal button exists');
test.assertTextExists('Marketing Email', 'Marketing Email button exists');
test.assertTextExists('Facebook', 'Facebook button exists');
});
});
. . .
これは大部分が独立して動作していましたが、複数の失敗をテストするためにすべてのテストを並行して実行すると、スクリーンショットは上書きされました。 >テスト1失敗 - - >キャプチャスクリーンショット1 - >テスト2 - >テスト2失敗 - >スクリーンショット2をキャプチャし、その後スクリーンショット1
を上書き
テスト1:年代順では、このようなものを見てそして、これは同じスクリーンショットの2つをもたらしたが、異なる命名規則の結果となった。
アイデア?