我经常需要处理脆弱的遗留网站,这些网站在更新逻辑或配置时会以意想不到的方式中断.
我没有创建Selenium脚本所需的系统时间或知识.此外,我不想检查具体的用例 - 我想验证网站上的每个链接和页面.
我想创建一个自动系统测试,它将通过一个站点进行爬行并检查链接和崩溃是否已损坏.理想情况下,我可以使用一种工具来实现这一目标.它应具有尽可能多的以下功能,按优先级降序排列:
通过脚本触发
不需要人为干预
遵循所有链接,包括锚标记和CSS和js文件的链接
生成所有找到的404s,500s等的日志.
可以在本地部署以检查Intranet上的站点
支持基于cookie /表单的身份验证
免费/开源
有许多部分解决方案,如FitNesse,Firefox的LinkChecker和W3C链接检查器,但它们都没有做我需要的一切.
我想将这个测试用于使用各种技术和平台的项目,因此解决方案越便携越好.
我意识到这不能替代正确的系统测试,但如果我有一种方便且可自动化的方式来验证网站的任何部分是否明显被破坏,那将非常有用.
我们使用并且非常喜欢Linkchecker:
http://wummel.github.io/linkchecker/
它是开源的,Python,命令行,可在内部部署,并以各种格式输出.当我们与他联系时,开发人员非常乐于助人.
我们有一个Ruby脚本,用于查询我们的内部网站数据库,使用适当的参数为每个站点启动LinkChecker,并解析LinkChecker为我们创建CMS中每个站点的自定义错误报告的XML.
我使用Xenu的Link Sleuth来做这类事情.快速检查/任何网站上没有死链接等.只需将其指向任何URI,它就会占用该网站上的所有链接.
来自网站的描述:
Xenu的Link Sleuth(TM)检查网站是否存在损坏的链接.链接验证在"普通"链接,图像,框架,插件,背景,本地图像映射,样式表,脚本和Java小程序上完成.它会显示不断更新的URL列表,您可以按不同的条件对其进行排序.可以随时生成报告.
除了可编写脚本之外,它还满足您的所有要求,因为它是一个需要手动启动的Windows应用程序.