百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

10个强大的Chrome DevTools测试技巧

myzbx 2025-03-20 16:57 33 浏览

  “通过掌握 Chrome DevTools 或其他浏览器的等效工具,测试人员可以显著提升测试过程的质量和效率,最终支持更快的问题解决和更稳定的用户体验。”

  你知道吗?Chrome DevTools 不仅是开发者的工具,也是测试人员的利器。作为一名 QA 专业人士,发现缺陷固然重要,但理解缺陷的根本原因并提出解决方案,才能将测试提升到一个新的水平。

  如果你不使用 Chrome,每种现代浏览器都有类似 Chrome DevTools 的工具,功能也很相似。因此,你可以在自己选择的浏览器中运行这些测试。

  为了最大化利用 Chrome DevTools 的价值,测试人员需要对 HTML、CSS、DOM、JavaScript 以及阅读网络级响应有一定的了解。

  什么是 Chrome DevTools?

  Chrome DevTools 是一个强大的网络工具包,能够让你检查和调试网站及网络应用程序。对于测试人员来说,它提供了一种高效的方式来检查元素、分析控制台日志、监控网络活动以及评估页面性能。

  让我们通过以下 10 个测试,探索使 Chrome DevTools 对测试人员极具价值的功能。

  测试 1:使用元素标签页排查间距问题

  Chrome DevTools 的元素标签页分为两个视图:HTML 和 CSS。右键单击任何元素并选择检查,或使用 Chrome DevTools 左上角的箭头悬停在任何元素上并选择它,这将在右侧面板中显示样式。这允许实时修改 HTML 和 CSS,而无需永久更新代码。

  下图展示了一个页面,其中分隔线和横幅图像之间存在意外的间距。假设在设计中,横幅图像应该紧贴分隔线。

图 1:由分隔线和图像之间的间距导致的横幅图像问题

  悬停在分隔线或横幅图像上以捕获间距区域并选择它。下图展示了检查到的间距区域。

图 2:悬停在顶部区域以捕获间距

  从 CSS 中移除 margin-bottom 样式可以解决间距问题。

图 3:从 CSS 文件中移除 margin-bottom 样式解决了间距问题

  从上述三张截图可以看出,你可以悬停在间距上捕获它,检查它,并通过调整外边距或内边距来排查问题。

  测试 2:使用检查元素功能排查阻碍用户导航的问题

  在下图中,界面提供了用于幻灯片导航的“轮播点”。然而,这些点只有部分可见。这些点应该完全可见,以便用户可以轻松选择它们来切换到下一张幻灯片。

  显示幻灯片的区域有一个边界,会隐藏边界外的任何内容(一个名为 overflow-hidden 的样式)。因此,幻灯片边缘的点被截断了,用户很难正确看到或选择它们。

图 4:幻灯片中半隐藏的轮播点

  要排查此问题,只需悬停在内容上,你将看到轮播点上的绿色阴影溢出。当你选择它时,你将在右侧看到相关的样式。

图 5:悬停在 carousel 元素上以观察 overflow-hidden 的 CSS 值

  取消选中 overflow-hidden 属性,你会看到问题在不改变点的位置的情况下得到解决。

图 6:移除 overflow-hidden 属性以解决问题

  测试 3:使用控制台标签页识别 JavaScript 错误

  控制台标签页是一个重要的工具,用于识别以红色标记的 JavaScript 错误,这使得它们很容易被找到。因为有数百种可能的错误类型,你分析它们的能力只能通过经验积累。在某些情况下,开发人员会在代码中附加脚本,以便更容易识别与脚本相关的故障。

  当网站部署到生产环境时,控制台中不应该有任何错误。然而,服务器或网络问题有时会生成日志。

  下图显示了控制台错误日志中与插入工作区的图表相关的某些损坏文本。然而,这个错误并不是该网站的所有用户都会遇到。在这种情况下,应该及时为特定客户提供热修复,而不是让他们等待一般应用程序级别的解决方案。

图 7:控制台中图表中损坏文本元素的文本 ID

  测试 4:分析控制台中的错误日志

  在下图中,从错误本身来看,很明显日志与某些 cookie 属性中的安全问题有关。如果这种类型的错误未被处理,可能会导致会话管理问题、分析数据不一致、应用程序行为不一致等。因此,如果网站依赖 cookie 或同源策略,这个错误需要被验证并修复。

图 8:与 cookie 属性安全问题相关的控制台日志错误

  测试 5:通过在控制台运行自定义 JavaScript 查找损坏链接

  你可以在控制台中运行自定义 JavaScript 来查找损坏链接、清除页面缓存等。

  以下代码片段会检查损坏的链接,调用函数 checkBrokenLinks() 将查找并显示所有损坏的链接,并将它们标记为红色。在测试无法从外部网络访问的页面时,这非常有帮助。

  // 检查链接是否损坏的函数async function checkBrokenLinks() {
   // 获取页面上所有的  元素
   const links = document.querySelectorAll('a');
   // 遍历每个链接
   for (let link of links) {
   const href = link.getAttribute('href');
   // 跳过空的或不存在的 href 链接
   if (!href || href.startsWith('#') || href.startsWith('mailto:') || href.startsWith('javascript:')) {
   continue;
   }
   try {
   // 获取链接并检查响应状态
   const response = await fetch(href, { method: 'HEAD' });
   // 如果状态码不是 OK(即不是 2xx)
   if (!response.ok) {
   console.log(`发现损坏的链接:${href} (状态:${response.status})`);
   link.style.color = 'red'; // 可选地将损坏的链接标记为红色
   }
   } catch (error) {
   // 如果发生错误(例如,网络错误,或链接无法到达)
   console.log(`发现损坏的链接:${href} (错误:${error.message})`);
   link.style.color = 'red'; // 标记损坏的链接
   }
   }}

  测试 6:使用网络标签页分析特定浏览器操作导致的错误代码

  网络标签页会记录页面上每个操作的所有请求,显示关键的状态码,这些状态码表明操作是否成功或失败。

  下图显示了一个 HTTP 404 错误代码的 favicon.png 文件。这仅仅表明指定的文件缺失。选择文件名可以提供更多详细信息,包括头部和响应,这有助于进一步诊断。

  如果你想充分利用网络标签页中的内容,你应该更多地了解 HTTP 状态码。

图 9:favicon.png 的 HTTP 404 错误代码

  测试 7:捕获传递给操作元素的数据

  我们可以在网络标签页中调查某些隐藏信息。在下图中,你可以看到用户输入的电话号码和电子邮件地址。如果收集这些信息存在问题,你将能够看到信息缺失。

图 10:页面右上角图标链接的电话号码和电子邮件地址

  测试 8:无需实际断开网络连接即可测试离线功能

  你可以直接从网络标签页进入离线模式。只需选择无限制 -> 离线。此功能有助于测试离线功能,而无需物理断开设备的网络连接。

图 11:从无限制下拉选项列表中选择离线

  测试 9:使用应用标签页调查数据流

  在应用标签页中,你可以深入调查与数据相关的活动。你可以执行各种任务,从清除缓存到分析 indexDB,你可以从中一窥与应用程序 UI 级别相关的数据。但要很好地理解此标签页中生成的信息,你首先需要对使用的数据库有一定的了解。

  下图展示了本地应用存储中的身份验证令牌。这些数据可用于某些测试目的,例如自动化图表工作区的功能。

图 12:检索身份验证令牌以执行自动化测试

  测试 10:检索用户 ID 以使用特定用户数据进行测试

  下图展示了在应用标签页中创建的工作区的用户 ID。如果你需要对这个用户执行任何与数据库相关的测试,这将非常有用。

图 13:获取已登录用户的用户 ID

  总结

  元素、控制台、网络和应用标签页特别有利于测试人员处理基于浏览器的应用程序,提供超越简单识别问题的宝贵见解。通过掌握 Chrome DevTools 或其他浏览器的等效工具,测试人员可以显著提升测试过程的质量和效率,最终支持更快的问题解决和更稳定的用户体验。

关注+私信回复:"入群"

这里有一起交流行业热点和offer机会,可加入↓↓↓↓↓↓

AI测试涨薪交流群,内含银行业务、车载、互联网、游戏更多行业测试实战和面试题库 &【软件测试专用AI提示词包】等各种好用的

助你快速进阶测试开发技术,稳住当前职位同时走向高薪之路

相关推荐

如何设计一个优秀的电子商务产品详情页

加入人人都是产品经理【起点学院】产品经理实战训练营,BAT产品总监手把手带你学产品电子商务网站的产品详情页面无疑是设计师和开发人员关注的最重要的网页之一。产品详情页面是客户作出“加入购物车”决定的页面...

怎么在JS中使用Ajax进行异步请求?

大家好,今天我来分享一项JavaScript的实战技巧,即如何在JS中使用Ajax进行异步请求,让你的网页速度瞬间提升。Ajax是一种在不刷新整个网页的情况下与服务器进行数据交互的技术,可以实现异步加...

中小企业如何组建,管理团队_中小企业应当如何开展组织结构设计变革

前言写了太多关于产品的东西觉得应该换换口味.从码农到架构师,从前端到平面再到UI、UE,最后走向了产品这条不归路,其实以前一直再给你们讲.产品经理跟项目经理区别没有特别大,两个岗位之间有很...

前端监控 SDK 开发分享_前端监控系统 开源

一、前言随着前端的发展和被重视,慢慢的行业内对于前端监控系统的重视程度也在增加。这里不对为什么需要监控再做解释。那我们先直接说说需求。对于中小型公司来说,可以直接使用三方的监控,比如自己搭建一套免费的...

Ajax 会被 fetch 取代吗?Axios 怎么办?

大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发!今天给大家带来的主题是ajax、fetch...

前端面试题《AJAX》_前端面试ajax考点汇总

1.什么是ajax?ajax作用是什么?AJAX=异步JavaScript和XML。AJAX是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX可以使网页实...

Ajax 详细介绍_ajax

1、ajax是什么?asynchronousjavascriptandxml:异步的javascript和xml。ajax是用来改善用户体验的一种技术,其本质是利用浏览器内置的一个特殊的...

6款可替代dreamweaver的工具_替代powerdesigner的工具

dreamweaver对一个web前端工作者来说,再熟悉不过了,像我07年接触web前端开发就是用的dreamweaver,一直用到现在,身边的朋友有跟我推荐过各种更好用的可替代dreamweaver...

我敢保证,全网没有再比这更详细的Java知识点总结了,送你啊

接下来你看到的将是全网最详细的Java知识点总结,全文分为三大部分:Java基础、Java框架、Java+云数据小编将为大家仔细讲解每大部分里面的详细知识点,别眨眼,从小白到大佬、零基础到精通,你绝...

福斯《死侍》发布新剧照 "小贱贱"韦德被改造前造型曝光

时光网讯福斯出品的科幻片《死侍》今天发布新剧照,其中一张是较为罕见的死侍在被改造之前的剧照,其余两张剧照都是死侍在执行任务中的状态。据外媒推测,片方此时发布剧照,预计是为了给不久之后影片发布首款正式预...

2021年超详细的java学习路线总结—纯干货分享

本文整理了java开发的学习路线和相关的学习资源,非常适合零基础入门java的同学,希望大家在学习的时候,能够节省时间。纯干货,良心推荐!第一阶段:Java基础重点知识点:数据类型、核心语法、面向对象...

不用海淘,真黑五来到你身边:亚马逊15件热卖爆款推荐!

Fujifilm富士instaxMini8小黄人拍立得相机(黄色/蓝色)扫二维码进入购物页面黑五是入手一个轻巧可爱的拍立得相机的好时机,此款是mini8的小黄人特别版,除了颜色涂装成小黄人...

2025 年 Python 爬虫四大前沿技术:从异步到 AI

作为互联网大厂的后端Python爬虫开发,你是否也曾遇到过这些痛点:面对海量目标URL,单线程爬虫爬取一周还没完成任务;动态渲染的SPA页面,requests库返回的全是空白代码;好不容易...

最贱超级英雄《死侍》来了!_死侍超燃

死侍Deadpool(2016)导演:蒂姆·米勒编剧:略特·里斯/保罗·沃尼克主演:瑞恩·雷诺兹/莫蕾娜·巴卡林/吉娜·卡拉诺/艾德·斯克林/T·J·米勒类型:动作/...

停止javascript的ajax请求,取消axios请求,取消reactfetch请求

一、Ajax原生里可以通过XMLHttpRequest对象上的abort方法来中断ajax。注意abort方法不能阻止向服务器发送请求,只能停止当前ajax请求。停止javascript的ajax请求...