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

10个强大的Chrome DevTools测试技巧

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

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

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

相关推荐

Luminati代理动态IP教程指南配置代理VMLogin中文版反指纹浏览器

介绍如何使用在VMLogin中文版设置Luminati代理。首先下载VMLogin中文版反指纹浏览器(https://cn.vmlogin.com)对于刚接触Luminati动态ip的朋友,是不是不懂...

文档中图形及子图形的处理(word中的图形对象有何特点)

【分享成果,随喜正能量】走得越远,见识越多,认识的人越多,你就越能体会到,人这一辈子,你真的在意的,同时又在意你的人,就那么几个,这几个人,就是你全部的世界。三两知己,爱人在侧,父母康健,听起来平淡无...

Python爬虫破解滑动验证码教程(python绕过滑动验证码)

破解滑动验证码通常需要结合图像识别和模拟人类操作,以下是分步骤的解决方案:1.分析验证码类型缺口识别型:背景图带缺口,滑块图带凸块轨迹验证型:除了位置还需模拟人类移动轨迹2.获取验证码图片方法一:...

「教程」5 分钟带你入门 kivy(新手kp教学)

原创:星安果AirPythonkivy语言通过编写界面UI,然后利用Python定义一些业务逻辑,可以移植很多功能模块到移动端直接执行。下面对kivy常见用法做一个汇总。1、什么是...

比呀比: Fossil Estate Canvas EW 男式复古邮差包 $70.99

Fossil是一个来自美国的全球性生活时尚品牌,始建于1984年,专注于时尚配件,是第一个将手表的价值与款式完美结合的美国品牌,如今Fossil已跃身成为美国最受欢迎的品牌之一。这款FossilE...

智能教学:如何在网上授课(网上授课怎么弄)

摘要:因为担心传统课堂可能会传播冠状病毒,许多大学已经开始在网上授课。耶鲁-新加坡国立大学的讲师凯瑟琳·谢伊·桑格(CatherineSheaSanger)解释了如何快速而有效地做到这一点。当新型冠...

wxPython库教程系列之图片:托盘图标和图片缩放、移动

1概要:=====1.1托盘图标设置1.2普通图片显示:原图显示,缩放显示,窗口与图片大小相互适应。1.3按钮图片设置1.4移动图片和zoom菜单按钮联动设置2托盘图标:========2...

UE4渲染目标开发教程(ue4渲染效果图质量怎么样)

渲染目标(RenderTarget)是你可以在运行时写入的纹理。在引擎方面,它们存储基础颜色、法线和环境光遮蔽等信息。在用户方面,渲染目标主要用作一种辅助相机。你可以将场景捕捉指向某物并将图像存储到...

比呀比: Fossil 化石 Canvas NS 男士复古帆布斜挎包 $57.59

FossilCanvasNS男士复古帆布斜挎包,尺寸约为26.5*11*33厘米。采用100%纯棉帆布面料,融合了休闲与百搭的外形,在经典的款型呈现复古质感。内设1个拉链袋,2个搭扣数码产品袋和...

比呀比: Timberland 添柏岚 Canvas Cord Case 帆布旅行手包 $5.99

Timberland添柏岚这款耐用帆布旅行手包,虽然一眼过去,觉得不咋地,但是品牌和质量还是妥妥滴,非常适合装一些零零碎碎的小东西,便于携带,多色可选,重点是价格更是感动价啊。目前这款包在6pm报价...

提炼文章/知识资料,两键转换成小红书图片

现在AI的功能已经越来越强大了,通过AI可以提高我们不少工作效率。刚好前几天做了一个几乎“一气呵成”,把长文章转成小红书卡片的流程Demo,分享给大家。之前发过两篇利用AI把长文章转成小红书图片...

python海龟绘图turtle(一):画布和窗体

海龟绘图(turtle)是python的一个有趣的内置模块,是python语言的标准库之一,是入门级的图形绘制函数库。海龟绘图(turtle)可以根据编写的控制指令(代码),让一个小“海龟”在屏幕上来...

在文档中添加画布及图片(word中如何添加画布)

【分享成果,随喜正能量】宁可正而不足,不可邪而有余。相识满天下,知心能几人。书七成,戏三分,牛皮灯影胡编成。布施不如还债,修福不如避祸。勿以恶小而为之,勿以善小而不为。。《VBA之Word应用》,是我...

知识管理神器 Obsidian,终于有了白板功能!

沙牛提示阅读本文需要3分钟,Obsidian白板功能来了!如果你喜欢本文,就分享给你的小伙伴!01白板继双链笔记之后,这一年,白板类工具开始火了起来。顾名思义,白板类工具,它给了你一张无限尺寸...

虚拟背景第一弹!教你如何在家中优雅地“学在交大”!

交大将于3月2日正式开始线上教学(3月1日举行线上教学第一课|视频直播课)目前正处于网课试课阶段交大在线课程教学以ZOOM、Canvas等作为主平台平台的虚拟背景功能可以具特别的环境效果更好地沉浸课堂...