2012-11-20 58 views
6

我必須得到我們公司一些Extranet的測試覆蓋範圍,我們使用phantom.js/casper.js,因爲它是我們測試工作流程中最容易集成的。如何使用Casper.js測試HTTP到HTTPS隧道?

嘗試通過隧道從HTTP過渡到HTTPS時出現問題。如果用戶要通過http // www.somecompany.com訪問我們的網站,並點擊登錄鏈接,他們的瀏覽器將重定向到https://extranet.somecompany.com。如果您要查看HTML源代碼,您將看到與用戶重定向到的表單正確對應的HTML。

但是,當試圖用casper.js重新創建工作流時,我成功地啓動了登錄鏈接上的點擊事件。然後我嘗試確定一個表單元素來確認重定向是否成功,但是此測試失敗。然後,我在重定向之後修改了我的下一步,以捕獲頁面以查看casper「看到」的內容。當我打開圖像時,HTML看起來好像我從未被重定向過。我知道重定向正在工作,因爲我看到Fiddler中的流量顯示隧道正在建立到端口443.

我已經搜索了SO,谷歌和Casper谷歌組,並且找不到很多關於重定向從HTTP到HTTPS,是卡斯帕/幻影能夠自動化這樣的工作流程,還是我必須看看像硒?

+2

您是否嘗試過通過'--ignore-SSL-錯誤= yes'到命令行? – NiKo

回答

0

重定向在PhantomJS 1.9.8中開箱即用。如果不確定隨意使用調試:

page.onResourceRequested = function(request) { 
    console.log('Request ' + JSON.stringify(request, undefined, 4)); 
}; 
page.onResourceReceived = function(response) { 
    console.log('Response ' + JSON.stringify(response, undefined, 4)); 
}; 

你應該在你的第一反應某物看到這樣:

"redirectURL": "https//extranet.somecompany.com",