通过抓取所有页面来测试网页

时间:2012-08-09 13:34:49

标签: asp.net asp.net-mvc-3 unit-testing web-crawler

我在ASP.NET MVC 3中开发网站,因为在第一次访问后编辑了视图,有时会发生在我身上,我发布了一些带有错误的Vies(如拼写错误)。

我想创建类似单元测试的东西,它会尝试访问所有页面,以避免视图中出现任何错误。

创建另一个会在localhost上抓取web的程序应该很容易,但我想将它集成到单元测试循环中。这可能吗?

我应该自己编写简单的爬虫,还是应该使用现有的东西?

此外,获取页面列表及其连接数以查看哪些页面可通过多少链接访问,这将是一件好事。抓取工具应仅抓取我的网站,而不是外部链接。此外,它可以帮助查找从起点(索引页面)无法访问的页面。

我的网页有100页,因此性能不是问题:)

提前致谢!

3 个答案:

答案 0 :(得分:3)

尝试“搜索引擎优化工具包”非常好的工具:

使用网站分析模块

Search Engine Optimization Toolkit

网站分析功能

功能齐全的爬虫引擎

可配置的并发请求数,允许用户抓取其网站而不会产生额外的处理。这可以配置1到16个并发请求。

支持Robots.txt,允许您自定义抓取工具应分析的位置以及应忽略哪些位置。

支持Sitemap文件,允许您指定要分析的其他位置。

支持覆盖'noindex'和'nofollow'元标记,允许您分析页面,以帮助改善客户体验,即使搜索引擎无法处理它们。

分析的可配置限制,要下载的最大网址数以及每个网址下载的最大千字节数。

可配置选项,用于仅包含来自您的目录或整个站点和子域的内容。

通过丰富的信息中心查看网站分析结果的详细摘要

功能丰富的Query Builder界面,允许您构建自定义报告

快速访问常见任务

显示每个网址的详细信息

查看详细的路线分析,显示可以更好地了解搜索引擎访问内容的方式的独特路线

“Linkbot”是您可以看到的另一个有用的工具:

Linkbot是一套屡获殊荣的网站管理实用程序套件,可帮助网站管理员跟踪和修复其网站上的问题。 Linkbot包含在一个集成软件包中维护无错误站点所需的所有工具:高性能多任务引擎,用于快速站点分析,查找和修复损坏的链接,查找缓慢和过时的页面,查找不再使用的孤立文件,映射了解网站的结构和组织,检查密码保护和安全区域,全面的HTML报告,自动生成新的页面,创建您网站上所有图像的图库等等!

答案 1 :(得分:1)

http://haacked.com/archive/2011/05/09/compiling-mvc-views-in-a-build-environment.aspx

只需按照此操作,视图将在调试或发布中构建。当存在视图编译器错误时,构建将失败。

另一方面,如果您仍想抓取以查找损坏的链接,请查看WebDriver

答案 2 :(得分:0)

NightElfik,

捕获拼写错误的最简单方法是以Release模式(而不是默认的Debug模式)编译解决方案,这样,所有视图都被编译,错误显示在{{1 }}。当然,你需要超越这个(例如找到不可用的链接),但这肯定会抓住你所有的错别字。