[英]How to test a disconnection when testing an AJAX application?
我正在測試一個AJAX應用程序,我們需要處理暫時失去與服務器的連接或其他錯誤(例如在Gmail或Google日歷中)。在測試中模擬這個的好方法是什么?
例如,是否有一個瀏覽器插件可以暫時“關閉”標簽的互聯網連接? 我在Chrome中進行所有調試,因此如果有人可以為該瀏覽器提供建議,那將會特別有用。
我嘗試過的其他選項是將VM的網絡連接切換到服務器,或者關閉服務器並重新啟動它,這些都不是非常輕量級或易於測試(后者也不保留任何狀態。)
澄清:我對如何在測試代碼中測試斷開處理感興趣。 我想在運行我的應用程序時創建斷開連接以進行測試。 理想情況下,它可能是我的瀏覽器的一個選項卡中容易切換的東西,不涉及borking我的整個互聯網連接。
在這個問題上,了解您使用哪個框架進行測試將是一件非常好的事情。 對於其余部分,如果AJAX內容由XMLHttpRequest對象處理,那么您可以做的很少,因為一旦請求被觸發,您就無法再控制它了。 如果您使用的是jQuery等框架,請考慮對事件進行juking。 這涉及以合成方式發射事件。 為了做到這一點,如果您的事件處理程序在范圍內是公共的(如果您編寫可維護的代碼,它們應該是公共的),您應該能夠觸發它們。 如果沒有,請公開。
如果不這樣做,您可以通過以下方式在服務器端執行操作:
當我們過去必須這樣做時,我們通常會打開nic設置並禁用適配器。 一些有筆記本電腦的家伙會在有線連接上運行,只需拔下插頭即可。
你也可以使用netsh:
netsh interface set interface <interface name> DISABLED/ENABLED
我不知道任何現成的解決方案,但我知道如何實現這一目標。
如果您的服務器在Linux上運行,您可以編寫一個簡單的腳本,該腳本會向iptables
添加規則,阻止ip或tcp級別的流量。 然后運行腳本以阻止解鎖流量。
我會在不同的端口上設置一個虛擬主機,放置一些腳本來阻止allt raffic,解鎖流量,限制等,然后將這些腳本添加到書簽以便快速運行它們。 這些腳本只會使用不同的參數調用iptables。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.