在Jonathan Holland对我之前提出的问题的评论中提出建议:Is there any way in .NET to programmatically listen to HTTP traffic?我已经针对我 想要了解的内容提出了一个单独的(但不完全是重复的)问题:< / p>
如何在.NET中自动执行Web代理以进行单元测试(包括设置和拆除)以监视来自浏览器的HTTP流量(特别是图像,脚本和XmlHttpRequests上的内容)请求的页面)?
我更喜欢没有设置(因此没有安装在Windows上的Fiddler),所有内容都可以从程序集中解压缩,部署,然后在没有跟踪的情况下删除,可以这么说。
答案 0 :(得分:2)
滚动您自己的传递代理,然后让您的测试工具在代理的管理端口上发出配置命令。代理将尽职尽责地将任何正常连接路由到指定的ip:端口,并使用最少的“setup。”
答案 1 :(得分:2)
WebAii 2.0有一个内置的HTTP代理:
http://www.artoftest.com/community/blogs/09-03-25/WebAii_2_0_Beta_Released.aspx
答案 2 :(得分:1)
如果您想控制类似浏览器的请求并查看受刺激的Web浏览器中的请求和标头到您的localhost,您可以使用System.Net.WebClient
如果您需要使用完整代理检测的.NET解决方案,请查看此MSDN文章:http://msdn.microsoft.com/en-us/magazine/cc300743.aspx。它解释了如何与Fiddler
等代理集成在使用任何这些解决方案之前,我强烈建议您查看单元测试以及您要完成的任务。完整的代理解决方案通常超出了单元测试的范围,您可能希望稍微扩展测试。
但是,如果您正在编写集成测试,那么这些解决方案应该可以为您提供良好的服务。
答案 3 :(得分:0)
我不确定它是否是您正在寻找的,但这里是使用selenium进行ASP.NET单元测试的示例。 http://www.stevetrefethen.com/blog/AutomatedTestingOfASPNETWebApplicationsUsingSelenium.aspx