大家好,又见面了,我是你们的朋友全栈君。
了解测试方法之前,先了解下死链、链接的相关概念
a标签 通过使用 href 属性 – 创建指向另一个文档的链接;
<a href="url">Link text</a>
通过使用 name 属性 – 创建文档内的书签。<a name="label">锚(显示在页面上的文本)</a>
网页死链检测 是日常网页测试中的一个基本测试点,相关的测试方法记录如下:
在手动的人工功能中去测试相关的链接是否正常。判断网页中属于链接的部分,点击并观察链接目标的正确性。
缺点:
进入检测工具的网页,输入待检测网站的链接,点击查询。
优点:
缺点:
下载检测工具,输入待检测网站的链接(测试环境、线上环境均可),设置检测相关的设置,点击查询。
优点:
检查报告中的状态分类:
缺点:
如果用编程的手段来实现死链检测,你的实现思路会是怎样的?
先遍历抓取所有相关链接,再判断链接有效性。
相关样例:
[项目地址](https://github.com/Flowerowl/pylinktester)
思路:通过线程管理器,触发爬虫线程按照广度优先爬取链接,另一方面触发检测线程用来检测爬取的链接。爬过的链接如果正常不用再检测,否则需要再检测(基于python2)。
设计点:
1. 考虑设置线程数、爬取深度;
2. 处理链接超时,设置超时访问次数;
3. 保存爬取链接集合,检测时设置未访问链接集合,不重复检测;
4. 记录日志,生成文件;
5. 爬虫线程,采用广度优先算法。
[项目地址](https://github.com/TronGeek/CheckLinks-Python)
思路:根据response内的a标签,遍历获取所有页面链接,包括图片、js、css链接,检测返回值是否为200(基于python3)。
设计点:
1. 缺点:单线程和未设置爬取深度导致程序运行效率低且可能无法自行结束循环遍历;
2. 输出csv日志表格文件;
3. 考虑检测url,以及图片、js、css链接;
4. 进行链接分类,过滤掉站外链接;
5. 可设置登录配置;
6. 可设置邮件通知。
先列举事先规定要检测的链接,再判断链接有效性。 思路:先配置好需要检测的网页资源,再进行检测,检测网页能否正常打开以及里面的资源是否记载正常。
设计点:
1. 通过添加需要检测的网页来快速检测特点的网页,针对性强(前提是你知道需要事先知道并配置好待检测网页的具体url)。
以上的死链检测方法,各有优缺点,可以视具体的测试场景灵活使用。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/163373.html原文链接:https://javaforall.cn