2015-05-05 44 views
3

我有一個關於Sinon測試的問題。我正在使用mochacasper,我想要捕獲單擊按鈕後發送的XMLHttpRequest。到目前爲止,我沒能趕上的請求......Sinon catch xmlhttprequest

casper.then(function() { 
    this.fill(...); 
}); 
casper.then(function() { 
    this.click('#myButton'); 
}); 
casper.then(function() { 
    //I want to catch the request/response here 
}); 

因爲我用我的測試環境下的數據庫,我知道我的請求被髮送,因爲我的測試數據添加到我的數據庫。 我嘗試過sinon's useFakeXMLHttpRequest以及sinon's fakeServer,但沒有任何工作。

那麼我該如何接收請求呢?

+0

不是SinonJS,而是自己創作的。也許它適用於你的用例:[我如何使用casperjs捕獲和處理來自XHR響應的數據?](http://stackoverflow.com/questions/24555370/how-can-i-catch-and-process-的數據 - 從最XHR - 響應 - 使用-casperjs) –

回答

0

我用Artjom B.的評論開發了一個「可行」的結果。 這是不正是我需要的,但它是足夠的時刻...

這是我如何做的:

casper.then(function() { 
this.click('button[data-hook="submitButton"]'); 
}); 
casper.waitForResource(function (resource) { 
return resource.status === 201; 
}, function() { 
this.echo('Appointment has been created'); 
}); 

唯一的問題仍然是,我無法訪問的身體的迴應,但至少我可以檢查狀態是否正確。