2008-09-26 27 views
1

繼喬納森荷蘭在他爲我剛纔的問題意見建議:Is there any way in .NET to programmatically listen to HTTP traffic?我做了什麼,我真正想知道一個單獨的(但不完全重複的)問題:如何在.NET中自動運行.NET代理以進行單元測試(包括設置和拆卸)?

如何自動化網絡在.NET中進行單元測試的代理(包括設置和拆除)用於監視來自瀏覽器的HTTP流量(特別是所請求頁面上的圖像,腳本和XmlHttpRequests)?

我更喜歡有零的建立(所以安裝在Windows上沒有小提琴手),這裏的一切可以從組裝拆包,部署,然後取出無蹤,可以這麼說。

回答

2

推出自己的直通代理,然後讓代理的管理端口上的測試工具發出配置命令。代理將盡最大努力將任何正常的連接路由到指定的ip:port,並以最少的「設置」。

1

如果你想利用一個類似瀏覽器的請求的控制,並期待在從刺激Web瀏覽器到localhost的請求和頭,您可以使用System.Net.WebClient

如果你想要一個.NET解決方案,在您使用完整的代理檢測,然後看看這個MSDN文章:http://msdn.microsoft.com/en-us/magazine/cc300743.aspx。它解釋瞭如何與代理整合如Fiddler

在使用任何這些解決方案之前,我強烈建議您查看您的單元測試以及您正在嘗試完成的內容。完整的代理解決方案通常超出了單元測試的範圍,您可能需要稍微擴展您的測試。

但是,如果你正在寫集成測試,然後將這些解決方案應該滿足你的需要。

相關問題