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

10个强大的Chrome DevTools测试技巧

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

  “通过掌握 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提示词包】等各种好用的

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

相关推荐

油猴脚本:净化微博界面,聚焦核心内容

在信息过载的社交场景中,微博原生界面的推荐流、视频入口、游戏标签及无障碍图标,常分散用户注意力,影响内容浏览效率。【移除微博推荐、视频、游戏标签和无障碍图标】油猴脚本,以精准界面优化能力,为用户打造...

一个月快速学习前端开发入门与学习计划,技能也能变成钱

快速学习前端开发(HTML/CSS/JavaScript),核心是“先搭框架、再填细节、边学边练”,按以下3步走,能高效入门:“基础→实战→进阶”为逻辑,每天学习+练习时长建议2-3小时,重点围绕“...

HTML5 header标签的定义与规定_html中header标签的作用

提示:点击上方"蓝色字体"↑可以订阅噢!<header>标签定义文档的页面组合,通常是一些引导和导航信息(DOM接口、可设置属性)。<header>标签定义文档的页眉(介绍信...

CSS 电梯:纯 CSS 实现的状态机与楼层导航

点击关注公众号,“技术干货”及时达!作为一个对状态机痴迷的开发者,我常常会被一些文章点燃灵感,比如那篇《用HTML复选框和CSS打造完整状态机》。纯CSS驱动的状态机...

Vue.js源码全方位深入解析,快人一步进名企

Vue.js源码全方位深入解析,快人一步进名企来百度APP畅享高清图片//下栽のke:chaoxingit.com/512/Vue.js源码全方位深入解析,快人一步进名企随着互联网技术的不断发展,前端...

你真的会用setState吗?_setstate用法

setState函数是什么?1.将需要处理的变化塞入组建的state对象中2.告诉该组件及其子组件需要用更新的状态来重新渲染3.响应事件处理和服务端响应更新用户界面的主要方式setState经典...

React 事件机制原理_react案例

相关问题React合成事件与原生DOM事件的区别React如何注册和触发事件React事件如何解决浏览器兼容问题回答关键点React的事件处理机制可以分为两个阶段:初始化渲染时在root...

Vue 侦听器(watch 与 watchEffect)全解析1

在Vue组合式API中,当我们需要在响应式状态变化时执行“副作用”(如操作DOM、发起异步请求、修改其他状态等),watch和watchEffect是核心工具。它们能帮我们精准捕获状态...

Github 45.9K,一款助你用 HTML 实现现代Web交互神器,开发效率飙升

在前端技术日新月异的今天,React、Vue、Angular等大型框架几乎成为Web开发的标配。你是否曾经因为这些复杂的工具链、繁琐的配置和“JavaScript疲劳”而感到力不从心?有没有想...

Wijmo5 Flexgrid基础教程:动态加载右键菜单

WijmoEnterprise下载>在上文中我们介绍了使用wijmo3的menu给flexgrid做右键菜单。本文我们就在这个基础上,介绍如何动态的给flexgrid添加右键菜单。本文的右键菜...

实战 | 基于Vue语言的企业级前端开发框架Hui的应用研究

文/华夏银行乌鲁木齐分行信息科技部张文涛随着前端技术的迅速发展,开发模式也在不断演进。早期的Web页面由服务器端生成,浏览器负责展现,前后端高度耦合,导致业务逻辑与展现逻辑混杂在一起,代码可维护...

Vue渲染器解析_vue渲染函数实战

渲染器是Vue与浏览器之间的「翻译官」。它拿到一份用JavaScript对象描述的UI(虚拟DOM),然后精准地创建、更新、销毁真实DOM,同时把响应式数据和渲染函数绑定成一条自动刷新的...

如何实现 Vue 自定义组件中 hover 事件以及 v-model

在CSS中,很容易在鼠标hover时进行更改,只需:.item{background:blue;}.item:hover{background:green;}在Vue中,它...

Pydoll:更流畅可靠的浏览器自动化

无论是数据抓取,还是自动化AI助手,或是网页测试,浏览器自动化技术都是能在其中发挥关键作用的一环。然而,传统的浏览器自动化工具往往依赖于复杂的WebDriver配置,这不仅增加了使用的难度,还...

web前端tips:js的事件循环(Event Loop)

一、介绍1.什么是js的事件循环JavaScript事件循环是一种处理异步事件和回调函数的机制,它是JavaScript实现异步编程的核心。它在浏览器或Node.js环境中运行,用于管理任务队列和调...