• Chrome调试工具常用功能整理


    转载:https://mp.weixin.qq.com/s?__biz=MzIwNDI1NjUxMg%3D%3D&chksm=8d314fc8ba46c6de5e29f6001a7a9a3fd7705a16ec37bd77cf0f975d323fe91ce36017f8ee65&idx=2&mid=2651261863&scene=21&sn=1b8045af007d91be759d11c13d3844f0#wechat_redirect

    Elements

    Dom
    • 选中 元素 切换至 Event… Tab可以查看这个元素绑定的事件
    • 在 Element 选项卡中可以修改html

    断点

    • 在 Sources 面板 js 文件行号处设置断点, 这里除了常规断点外, 还有个条件断点(右键 conditional breakpoint), 在设置的条件为 true 时才会断电, 在循环中需要断点时比较有用
    • 在调用堆栈这里可以切换到堆栈中的任何地方重新执行(右键restart frame), 如果想查看断点前的信息时比较有用
    • 断点后的变量保存到全局
      • 选中变量, 右键 Evalute in console
      • 在 console 中选中输出的内容, 右键 store as global variable
    • dom mutation 断点(推荐)
      • dom mutation event 是 DOM3 添加的新的事件, 一般是 dom 结构改变时触发. devtools 可以对 DOMSubtreeModified DOMAttrModified 和 DOMNodeRemoved 时断点. 对上面 元素上事件断点(mouseover) 后不容易找到业务代码, 使用 mutation 断点, 断点后配合 call stack 就可以找到业务代码了
    • 全局事件断点
      • devtools 还可以对事件发生时断点, 比如 click 发生时断点, 这个跟 元素上事件断点 不同, 不会限定在元素上, 只要是事件发生, 并且有 handler 就断点; 还可以对 resize, ajax, setTimeout/setInterval 断点.
    • xhr 断点
    • 条件断点
    • 几个常用的断点快捷键:
      • F8: 继续执行
      • F10: step over, 单步执行, 不进入函数
      • F11: step into, 单步执行, 进入函数
      • shift + F11: step out, 跳出函数
      • ctrl + o: 打开文件
      • ctrl + shit + o: 跳到函数定义位置
      • ctrl + shift + f: 所有脚本中搜索

    Console

    元素选择
    • $(selector)
      • 即使当前页面没有加载jQuery,你也依然可以使用$$$函数来选取元素,实际上,这两个函数只是对document.querySelector()和document.querySelectorAll()的简单封装,$用于选取单个元素,$$则用于选取多个
    • $_
      • 使用 $_来引用最近的一个表达式

    使用Reres替换线上文件

    • 待补充

    使用Charles 替换线上JS文件

    • 先把电脑上的代理软件关掉,再打开 Charles,在菜单栏选择 Proxy 打开 macos Proxy。
    • 打开 Chrome 上的开发者工具,选择 Network 把禁止缓存勾上(Disable cache)。
    • 刷新页面,在 Charles 上选中需要替换的 JS 代码,右键选择 Map Local…,然后在点击 Choose 按键,选择需要替换的 JS 代码。

    使用Fiddler修改线上JS文件

    • 打开 Fiddler ,设置只抓取浏览器流量
    • 使用 SwitchyOmega 设置 浏览器代理模式 为 Fiddler代理
    • 使用 Fiddler 截断请求,找到需要修改的 JS 文件修改后 点击 RUN
    • 实例网站 :  某文书网首页 JS

    未完待续。。

  • 相关阅读:
    详细的描述一个测试活动完整的过程
    黑盒测试的测试用例常见设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。
    测试计划工作的目的是什么?测试计划文档的内容应该包括什么?其中哪些是最重要的?
    redo log 有什么作用?
    Spring的简介和优点?
    java的语法基础(二)
    相对于Statement,PreparedStatement的优点是什么?
    MyBatis 的好处是什么?
    python中字符串的编码和解码
    相对于Statement,PreparedStatement的优点是什么?
  • 原文地址:https://www.cnblogs.com/testzcy/p/13901128.html
Copyright © 2020-2023  润新知