當前位置:
首頁 > 最新 > web應用程序的測試

web應用程序的測試

測試看起來就是一個苦差事,但是它也是用於驗證想法不可缺少的工具,尤其是你創建沒有用戶界面的web APIs時,更需要測試。測試框架,例如Mocha讓測試用例更加容易編寫和閱讀,SuperTest則用於幫助保持http相關的測試的簡潔。但是身份認證的支持通常並沒有類似的模塊來處理。在這一節的內容中,你可以了解到一種在測試中處理身份認證的方法,這已經足夠使用,並且也可以在其他的測試模塊中去復用。你想要測試應用中基於session的用戶名和密碼的那一部分內容。在測試用戶的setup中發起請求進行登錄,然後在測試用例中復用這個cookies信息。

一些web框架和測試庫會處理會話,所以你可能沒有太擔心登錄。在這本書之前的內容使用過的Mocha和Super中可不是這樣,所以你需要大概了解了一下session是如何工作的。Express連接的session處理是基於一個cookie。一旦該cookie已經設置,它可以被用來讀取用戶的session。這意味著,編寫一個測試,訪問你的應用程序的安全部分,你需要做的請求,在用戶登錄後記錄cookie,然後在隨後的請求中附帶這個cookie。這個過程示於圖

編寫訪問身份驗證的路由測試,你需要一個測試用戶賬戶,通常需要創建資料庫數據。一旦數據準備好了,你可以像使用SuperTest庫做一個用戶名和密碼的POST請求到處理伺服器上。cookie的傳輸是使用http頭部信息,這樣你就可以從res.headers["set-cookie"]來獲取。你也應該做一個斷言,以確保賬戶登錄成功。現在,任何新的請求只需要在res.headers中設置Cookie信息,你的測試用戶即是登錄狀態了。接下來的例子展示了這一過程。

這是一個測試用戶,通常從一個固定的設置中載入。

Post提交用戶名和密碼。

會話cookie在set-cookie的頭部信息中。

這個路由在登錄之後才執行。

使用保存的會話cookie來設置Cookie頭部信息。

本試驗的第一部分載入所需的模塊並且設置了一個示例用戶。這通常將被存儲在資料庫中。接下來,會發起一個附帶用戶名和密碼信息的POST請求。會話cookie會在頭部信息的set-cookie欄位中獲取。在登錄後,訪問特定的路由,設置上一次保存的Cookie頭部信息。你會發現,請求處理時,用戶是在正常登錄的狀態。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 行家匯 的精彩文章:

一個restify應用和Restify路由用法
Node使用事件來組織應用結構及觸發事件
統一處理錯誤異常來簡化web應用程序
使用框架來創建RESTful的web服務
Browserify用於創建一個客戶端腳本

TAG:行家匯 |

您可能感興趣

微軟將允許用戶試用早期版本的核心Windows 10應用程序
微軟正在將先進的網路應用程序轉變為Windows應用程序
Google正在測試搜索中的迷你應用程序和Google助手
蘋果的Beddit睡眠監測公司推出測試新功能的測試版程序
Facebook在旗下Messenger應用程序當中測試消息
如何在 Mac 下完美的運行 Windows 應用程序
你的Mac將可以運行iPad應用程序!
詳解分散式應用程序協調服務Zookeeper
iCloud.com 網站迎來新的測試版:加入備忘錄應用程序
測試Android應用程序的逆向方法和尋找攻擊面的技巧
在你的Python應用程序中測試MongoDB故障轉移
蘋果從應用商店中刪除Facebook安全應用程序
Windows Defender應用程序控制介紹
如何使用Helm更新使用ConfigMap的應用程序
Webpack4漸進式網路應用程序
WAScan:一款功能強大的Web應用程序掃描工具
使用Python構建的七大應用程序
如何使用 Golang 日誌監控你的應用程序?
Kubernetes上的十大應用程序
Facebook 招募前 Vine 高管來負責打造新的實驗性應用程序