软件测试学习笔记丨Chrome开发者模式

2024-08-28 05:04

本文主要是介绍软件测试学习笔记丨Chrome开发者模式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/31914

一、Chrome开发者模式(DevTools)

1.1 主要面板选项

  • Elements:查看和编辑 HTML 结构及 CSS 样式。
  • Console:查看日志、调试 JavaScript 代码。
  • Sources:管理源文件,设置断点调试 JavaScript 代码。
  • Network:监控网络请求,分析页面加载性能。
  • Performance:记录和分析页面性能。
  • Memory:分析内存使用,查找内存泄漏。
  • Application:管理和查看存储在浏览器中的数据。
  • Security:查看页面的安全信息。
  • Lighthouse:生成网站性能、可访问性和 SEO 报告。

1.2 各面板详解

1.2.1 Elements

用途

  • 检查和编辑HTML:查看和实时编辑页面的HTML结构。
  • 检查和编辑CSS:查看和修改CSS样式,实时预览更改效果。
  • DOM断点:在DOM节点变化(如属性变化、节点移除等)时触发断点,帮助调试动态内容。

常见操作

  • Inspect Element:右键点击页面元素,选择“Inspect”以在Elements面板中查看该元素的HTML和CSS。
  • Styles面板:查看和修改选中元素的CSS样式。
  • Event Listeners面板:查看选中元素绑定的事件监听器。

子菜单和功能

  • Styles:查看和编辑选中元素的 CSS 样式。
    • 可以添加、修改、删除 CSS 规则,实时预览效果。
  • Computed:显示选中元素的所有计算后的 CSS 属性。
    • 可以查看元素最终的样式值,包括从多个 CSS 规则中继承的值。
  • Event Listeners:查看选中元素绑定的事件监听器。
    • 列出所有与该元素相关的 JavaScript 事件。
  • DOM Breakpoints:设置 DOM 节点变化的断点。
    • 可以在属性变化、节点移除、子节点变化时触发断点,帮助调试动态内容。
  • Properties:查看选中元素的 JavaScript 属性。
    • 显示该元素的所有属性及其值,便于调试。
  • Accessibility:查看选中元素的无障碍属性。
    • 帮助确保页面符合无障碍标准,提升用户体验。

1.2.2 Console

用途

  • 调试JavaScript:执行和测试JavaScript代码,打印输出和错误信息。
  • 查看日志:显示应用运行时的日志、警告和错误信息。
  • 命令行API:提供多种命令行API用于快速操作DOM、调试和测试代码。

常见操作

  • 执行代码:在Console中输入并执行JavaScript代码。
  • 查看日志:通过console.log()console.error()等方法查看日志信息。
  • 使用命令行API:如$0$1用于快速访问最近选择的元素。

子菜单和功能

  • Console API:提供多种命令行 API,用于快速操作 DOM、调试和测试代码。
    • $0 获取最近选中的元素,$ 执行 CSS 选择器,console.log() 打印日志。
  • Logging:查看应用运行时的日志、警告和错误信息。
    • 日志等级包括:loginfowarnerror
  • Commands:执行和测试 JavaScript 代码。
    • 可以在控制台中输入并执行 JavaScript 代码,实时查看结果。

1.2.3 Sources

用途

  • 调试JavaScript:设置断点、单步执行代码、查看变量和调用堆栈。
  • 工作区(Workspace) :将本地文件夹映射到DevTools中,实时编辑和保存文件。
  • 网络请求捕获:查看和编辑JavaScript代码中的网络请求。

常见操作

  • 设置断点:点击行号设置断点,调试代码执行。
  • 逐步执行代码:使用“Step over”、“Step into”、“Step out”等按钮逐步执行代码。
  • 查看变量:在Scope面板中查看当前作用域的变量和对象。

子菜单和功能

  • File Navigator:浏览和打开页面中的所有资源文件。
    • 包括 HTML、CSS、JavaScript 文件等。
  • Editor:查看和编辑源文件。
    • 可以实时编辑 JavaScript 代码,并保存到本地文件。
  • Breakpoints:设置和管理代码断点。
    • 包括行断点、条件断点、DOM 断点、XHR 断点等。
  • Watch:监控变量和表达式的值。
    • 可以添加变量或表达式,实时查看其值变化。
  • Call Stack:查看当前执行的调用堆栈。
    • 帮助了解代码执行路径和上下文。
  • Scope:查看当前作用域中的变量和对象。
    • 包括全局作用域、本地作用域等。

1.2.4 Network

用途

  • 监控网络请求:查看页面加载时的所有网络请求,包括XHR、Fetch、资源文件等。
  • 分析性能:查看请求的详细信息,如请求头、响应头、数据负载、加载时间等。
  • 模拟网络条件:模拟不同的网络速度和离线状态,测试应用在各种网络条件下的表现。

常见操作

  • 查看请求详情:点击请求条目,查看其详细信息。
  • 过滤请求:使用过滤器只显示特定类型的请求(如XHR)。
  • 模拟网络条件:在Throttling菜单中选择模拟的网络条件(如“Slow 3G”)。

子菜单和功能

  • Overview:查看页面加载过程中所有网络请求的时间轴。
    • 直观显示各请求的开始和结束时间。
  • Headers:查看请求和响应的头信息。
    • 包括请求 URL、方法、状态码、服务器等。
  • Payload:查看 POST 请求的负载数据。
    • 通常是表单数据或 JSON 数据。
  • Preview:预览响应的数据。
    • 适用于 JSON、HTML 等可读格式。
  • Response:查看完整的响应数据。
    • 显示服务器返回的全部内容。
  • Timing:查看请求的时间分段信息。
    • 包括 DNS 查询、连接、等待、接收等各阶段的耗时。
  • Cookies:查看请求和响应的 Cookie 信息。
    • 列出所有相关的 Cookie 及其详细信息。

1.2.5 Performance

用途

  • 性能分析:记录和分析页面的性能表现,包括加载时间、脚本执行时间、渲染时间等。
  • 帧率分析:查看页面在运行时的帧率,识别性能瓶颈。
  • 内存快照:查看和分析内存使用情况,查找内存泄漏和性能问题。

常见操作

  • 记录性能:点击“Record”按钮记录页面性能。
  • 查看分析结果:分析记录的性能数据,查看各阶段的耗时。
  • 内存快照:通过“Heap Snapshot”捕获内存快照,分析内存使用情况。

子菜单和功能

  • Record:记录页面性能数据。
    • 包括加载时间、脚本执行时间、渲染时间等。
  • Frames:查看页面在运行时的帧率。
    • 识别性能瓶颈,优化动画和交互效果。
  • Flame Chart:查看和分析性能数据。
    • 以火焰图形式展示各阶段的耗时,直观显示性能瓶颈。
  • Summary:总结性能数据。
    • 显示各阶段的总体耗时,帮助识别性能问题。
  • Bottom-Up:从底层向上分析性能数据。
    • 显示各函数调用的总耗时,帮助优化代码。
  • Call Tree:查看函数调用树。
    • 展示函数调用的层级关系和各函数的耗时。

1.2.6 Memory

用途

  • 内存分析:分析页面的内存使用情况,查找和解决内存泄漏问题。
  • 三种快照模式:包括Heap Snapshot、Allocation Instrumentation on Timeline、Allocation Sampling,帮助深入分析内存问题。

常见操作

  • 捕获快照:选择一种快照模式并点击“Take snapshot”按钮捕获内存快照。
  • 分析快照:查看和分析内存快照,查找不必要的内存占用。

子菜单和功能

  • Heap Snapshot:捕获内存快照。
    • 分析内存中所有对象及其引用关系,查找内存泄漏。
  • Allocation Instrumentation on Timeline:记录内存分配情况。
    • 分析内存分配和回收的时间轴,识别内存泄漏。
  • Allocation Sampling:采样内存分配。
    • 提供内存分配的采样数据,帮助优化内存使用。

1.2.7 Application

用途

  • 查看应用数据:管理和查看存储在浏览器中的数据,如Cookies、Local Storage、Session Storage、IndexedDB等。
  • 管理缓存:查看和管理应用的缓存,包括Service Workers和Cache Storage。
  • 安全性检查:查看应用的安全性信息,如HTTPS证书和混合内容警告。

常见操作

  • 管理存储数据:查看和编辑Local Storage、Session Storage、IndexedDB等数据。
  • 管理Cookies:查看、添加、删除Cookies。
  • 查看Service Workers:查看和管理Service Workers,检查其状态和注册情况。

子菜单和功能

  • Local Storage:查看和管理 Local Storage 数据。
    • 本地存储的键值对数据。
  • Session Storage:查看和管理 Session Storage 数据。
    • 会话存储的键值对数据。
  • IndexedDB:查看和管理 IndexedDB 数据库。
    • 复杂结构化数据的本地存储。
  • Cookies:查看和管理 Cookies。
    • 列出所有相关的 Cookie 及其详细信息。
  • Cache Storage:查看和管理 Cache Storage 数据。
    • 缓存存储的数据,通常由 Service Worker 使用。
  • Service Workers:查看和管理 Service Workers。
    • 检查其状态和注册情况,调试离线缓存等功能。
  • Web SQL:查看和管理 Web SQL 数据库。
    • 已过时的客户端存储技术,但仍有部分旧应用使用。
  • Application Cache:查看和管理应用缓存。
    • 已废弃的缓存机制,使用现代缓存 API 替代。

1.2.8 Security

用途

  • 安全性检查:查看页面的安全性信息,包括HTTPS证书、混合内容、内容安全策略(CSP)等。
  • 问题提示:显示页面存在的安全问题,提供解决建议。

常见操作

  • 查看HTTPS信息:查看证书的详细信息和有效性。
  • 检查混合内容:识别页面中不安全的资源请求。

子菜单和功能

  • Overview:显示页面的总体安全状态。
    • 包括 HTTPS 证书、混合内容、安全性警告等。
  • Certificate:查看 HTTPS 证书的详细信息。
    • 包括证书颁发者、有效期等。
  • Mixed Content:检查页面是否存在不安全的混合内容。
    • 列出所有通过 HTTP 加载的资源,建议全部改为 HTTPS。

1.2.9 Lighthouse

用途

  • 网站性能和优化建议:生成网站性能、可访问性、最佳实践、SEO和PWA的报告,提供优化建议。
  • 综合评估:帮助开发者全面评估和优化Web应用。

常见操作

  • 生成报告:选择需要评估的指标,点击“Generate report”生成报告。
  • 查看优化建议:分析报告中的各项指标和优化建议,改进网站性能和用户体验。

子菜单和功能

  • Audit:选择需要评估的指标,点击“Generate report”生成报告。
    • 评估包括性能、可访问性、最佳实践、SEO 和 PWA 等方面。
  • Reports:查看生成的评估报告。
    • 分析各项指标的得分和改进建议,优化网站表现。

1.2.10 Console Drawer

用途

  • 快速访问工具:提供对多种工具的快速访问,如Console、Network conditions、Rendering等。
  • 命令面板:通过命令面板快速执行各种操作。

常见操作

  • 切换工具:按 Esc 打开/关闭Console Drawer,快速切换到需要的工具。
  • 命令面板:按 Ctrl+Shift+P (Windows) 或 Cmd+Shift+P (Mac) 打开命令面板,输入命令快速执行操作。

1.2.11 Sources Drawer

用途

  • 文件管理:快速访问和管理源文件,包括页面脚本、样式表和图片等资源。
  • 断点管理:管理和查看所有设置的断点。

常见操作

  • 打开文件:按 Ctrl+P (Windows) 或 Cmd+P (Mac) 打开文件,快速定位和查看源文件。
  • 管理断点:在“Breakpoints”面板中查看和管理所有断点。

1.2.12 More Tools

用途

  • 附加工具:访问和使用更多开发者工具,如Performance Monitor、Coverage、Sensors等。
  • 自定义工具栏:根据需要添加或移除工具,定制DevTools工具栏。

常见操作

  • 添加工具:点击菜单栏中的“三点图标”,选择“More Tools”,添加需要的工具。
  • 使用附加工具:根据需求使用Performance Monitor监控性能、使用Coverage分析代码覆盖率、使用Sensors模拟不同的设备和环境。

推荐学习

【霍格沃兹测试开发】7天软件测试快速入门带你从零基础/转行/小白/就业/测试用例设计实战

【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (上集)

【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (下集)

【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(上集)

【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(下集)

【霍格沃兹测试开发】精品课合集/ 自动化测试/ 性能测试/ 精准测试/ 测试左移/ 测试右移/ 人工智能测试

【霍格沃兹测试开发】腾讯/ 百度/ 阿里/ 字节测试专家技术沙龙分享合集/ 精准化测试/ 流量回放/Diff

【霍格沃兹测试开发】Pytest 用例结构/ 编写规范 / 免费分享

【霍格沃兹测试开发】JMeter 实时性能监控平台/ 数据分析展示系统Grafana/Docker 安装

【霍格沃兹测试开发】接口自动化测试的场景有哪些?为什么要做接口自动化测试?如何一键生成测试报告?

【霍格沃兹测试开发】面试技巧指导/ 测试开发能力评级/1V1 模拟面试实战/ 冲刺年薪百万!

【霍格沃兹测试开发】腾讯软件测试能力评级标准/ 要评级表格的联系我

【霍格沃兹测试开发】Pytest 与Allure2 一键生成测试报告/ 测试用例断言/ 数据驱动/ 参数化

【霍格沃兹测试开发】App 功能测试实战快速入门/adb 常用命令/adb 压力测试

【霍格沃兹测试开发】阿里/ 百度/ 腾讯/ 滴滴/ 字节/ 一线大厂面试真题讲解,卷完拿高薪Offer !

【霍格沃兹测试开发】App自动化测试零基础快速入门/Appium/自动化用例录制/参数配置

【霍格沃兹测试开发】如何用Postman 做接口测试,从入门到实战/ 接口抓包(最新最全教程)

这篇关于软件测试学习笔记丨Chrome开发者模式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1113800

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

在JS中的设计模式的单例模式、策略模式、代理模式、原型模式浅讲

1. 单例模式(Singleton Pattern) 确保一个类只有一个实例,并提供一个全局访问点。 示例代码: class Singleton {constructor() {if (Singleton.instance) {return Singleton.instance;}Singleton.instance = this;this.data = [];}addData(value)

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

线性代数|机器学习-P36在图中找聚类

文章目录 1. 常见图结构2. 谱聚类 感觉后面几节课的内容跨越太大,需要补充太多的知识点,教授讲得内容跨越较大,一般一节课的内容是书本上的一章节内容,所以看视频比较吃力,需要先预习课本内容后才能够很好的理解教授讲解的知识点。 1. 常见图结构 假设我们有如下图结构: Adjacency Matrix:行和列表示的是节点的位置,A[i,j]表示的第 i 个节点和第 j 个