如何在.NET中自动化Web代理以进行单元测试(包括设置和拆除)?

时间:2008-09-26 02:34:28

标签: .net unit-testing proxy automation browser-automation

在Jonathan Holland对我之前提出的问题的评论中提出建议:Is there any way in .NET to programmatically listen to HTTP traffic?我已经针对我 想要了解的内容提出了一个单独的(但不完全是重复的)问题:< / p>

如何在.NET中自动执行Web代理以进行单元测试(包括设置和拆除)以监视来自浏览器的HTTP流量(特别是图像,脚本和XmlHttpRequests上的内容)请求的页面)?

我更喜欢没有设置(因此没有安装在Windows上的Fiddler),所有内容都可以从程序集中解压缩,部署,然后在没有跟踪的情况下删除,可以这么说。

4 个答案:

答案 0 :(得分:2)

滚动您自己的传递代理,然后让您的测试工具在代理的管理端口上发出配置命令。代理将尽职尽责地将任何正常连接路由到指定的ip:端口,并使用最少的“setup。”

答案 1 :(得分:2)

答案 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