• 13
  • 13
分享
  • 想快速定位Bug?先学习一下F12抓包吧!——软件测试圈
  • 曼倩诙谐 2021-07-05 09:55:30 字数 1606 阅读 3865 收藏 13

  前言

  测试过程中经常会进行抓包来查看一些错误内容,判断是前端的问题还是后端的问题,常见的抓包工具有Fiddler、Charles,还有Web端的F12。今天安静来介绍下如何通过F12进行抓包查看请求内容。

  F12抓包

  打开百度按下键盘F12或者邮件选择检查,这里可以看到有一些选项:Elements、Console、Sources、Network、performance、Memory、Application、Secutity、Lighthouse,那么这些选择都是干什么的呢?对于我们测试来说能给我们提供什么信息呢?安静一个个进行介绍。

1-1.png

  Elements

  表示当前页面的HTML内容,一些挡圈页面上的元素属性,都可以在这里进行查看到。

  我们也可以进行修改一些参数变成我们想要的内容。比如:我们想要将"百度一下"变成“测试-安静”,直接双击HTML页面上的文字"百度一下"进行修改。

1-2.png

  Console

  这里使用到JaveScript中的定位方法。

  那么对于我们测试来说有什么用呢?我们可以在Console中通过JS语法查看元素是否唯一性,以及确定我们的定位是否正确,这里的支持语法比较多,如:xpath、css、id、name、class、tag。

  具体的我们举例来简单说明。

  xpath语法

  xpath需要在前面加入$x,后面跟xpath正常语法,语法:$x("//*[@id='xx']") 安静还是拿百度来举例,这里length=1表示只有一个元素符合我们输入的语法,也确保了我们的元素唯一性。

1-3.png

  CSS语法

  Css在前面加入$$,后面正常跟Css写法。语法:$$('#xx') 这里写的是css的定位语法。

1-4.png

  ID语法

  ID语法书写:document.getElementById("xx")。

1-5.png

  name语法

  name语法书写:document.getElementsByName("xx")。

1-6.png

  class语法

  class语法书写:document.getElementsByClassName("xx")。

1-7.png

  Sources

  这里主要介绍了一些JS,css等一些渲染文件,对于我们测试来说可能不是特别重要,除非有特定需求,可以了解下。

  Network

  Network用来查看网络请求内容。也就是一些htttp请求,比如get、post、put、 delete等多种方式,当然最常见的还是get和post。

  get请求

1-8.png

  通过上图可以看到,我们的一些请求百度的URL,以及请求方式,请求头中的参数信息,下面还有一些请求的get的参数值(这里安静没有截图出来)。

  post请求

  安静通过豆瓣网的登录来查看一些参数请求内容。

1-9.png

  可以看到请求登录的url地址,请求方式post,以及请求头包含的内容。

1-10.png

  图上可以很请求的看到登录的post请求参数内容。

  服务器返回内容

  服务端的返回内容需要在这个页面中的preview中进行查看。

1-11.png

  通过上图可以看到,输入了错误的账号名和密码去进行登录,登录失败,服务器返回了账号密码错误。

  performance

  可以简单的来做一下页面的一个性能分析,安静这里通过百度来演示。

1-12.png

  Memory

  可以来录制一段页面上的内容,然后进行分析其内存情况。

1-13.png

  Application

  表示其请求中所存放的cookies、token、缓存内容、css、js等一些值。如果是测试cookies相关,可以进行在这个页面中查看cookies内容。

1-14.png

  总结

  这里安静简单的通过一些案例进行介绍了如何使用F12以及通过F12进行抓取请求内容,以及查看元素属性并确定属性的唯一值。

  熟练的使用F12工具,可以帮助我们在工作中快速定位到bug。感谢您的阅读。希望对您有所帮助。



作者:测试安静   

来源:51Testing软件测试网原创

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   Web软件性能测试是一种收集信息和分析信息的过程,主要目的是用来检查程序是否具有良好的性能,为维护系统的性能找到有效的改善策略。  性能测试主要是考察在不同的用户负载下,Web 应用对用户请求作出的响应情况,以确保将来系统运行的安全性,可靠性和执行效车。  Web性能测试能够基露出系统的性能瓶颈问题,并提供一定量的数据来帮助诊断和查明问题所在,最后起到优化系统的目的。  性能测试包括连接速度测试、负载测试和压力测试。压力测试是通过不断向被测系统施加压力,测试系统在压力情况下的性能表现,考察当前软硬件环境下系统所能承受的最大负载并帮助找出系统瓶颈所在。  负载测试是为了检验系统在给定负载下是...
            0 0 1595
            分享
          •   传统认知中的软件测试是一个使用测试用例设计技术设计用例并执行测试用例的过程。  测试用例技术的目的是确保能够更多地覆盖、检测软/硬件错误,减少冗余测试。自动化测试或多或少地被认为是机械地执行测试脚本,将预定义的测试用例输入被测系统,对比系统输出和预期结果。  然而,在实际的工程实践中我们会发现,现实世界的测试很少是基于严格、系统、以及完成记录去运行预定义的测试用例。  相较于传统的测试方法,探索性测试(ET)方法更具创造性。  测试设计、执行和学习并行,不断地学习、反馈、优化测试方法并在实践中应用。但是ET通常被认为是一种经验类方法或错误猜测法,更多地依赖隐性的经验知识,我们不否认ET的这...
            0 0 2405
            分享
          •  最近在逛ProductHurt时,发现一些好玩又有趣的API,你可能会觉得花里胡哨,but 作为开发者也需要乐趣的!当然调试API离不开API管理工具,随手也给大家安利一个最近很热门的接口管理工具:Apifox(apifox.cn)?️ ClearbitClearbit提供了网站Logo访问API,只要你输入你想要寻找网站图标的域名,就可以返回域名的相关logo图片~以前要去爬域名的图标,还要浏览器右键点击查看,然后选择元素找到logo的位置,现在找logo图标链路是不是缩短了!API接口:GET https://logo.clearbit.com/:domain比如我最近访问的几...
            9 9 844
            分享
          • 前提条件:Jmeter已安装且已配置好;运行Jmeter,打开界面。第一步,添加线程组在Jemeter界面上有一个默认的测试计划根路径。一个测试计划包含一系列Jmeter运行时要执行的步骤,包含一个或者多个线程组,逻辑控制器,取样发生控制,监听器,定时器,断言和配置元件等。我们想要创建一个完整的测试计划,那么就先创建一个线程组:选中测试计划,点击鼠标右键-> 添加->线程(用户)->线程组,如下图所示:线程组元件是任何测试计划的起点。一个测试计划的所有元件必须在一个线程组下。线程组元件控制JMeter运行测试时使用的线程数。线程组管理可以:设置线程数设置ramp-up per...
            0 0 5112
            分享
          • 这次讲到的自动化测试框架,主要会用到以下3款工具:Jenkins、Jmeter、Ant,首先说下这几款工具各自起什么作用Jenkins:可对项目设置构建策略,如触发构建、定时构建等,项目构建完成后,可进行构建报告的查看、邮件发送等一系列操作,就是我们常说的持续集成,也叫CIJmeter:主要用来编写接口自动化用例Ant:批量跑指定目录下的Jmeter脚本了解了这几款工具的作用后,我们开始从头来搭建这套自动化框架,在搭建之前,我们的电脑必须先安装java,因为Jmeter这款工具,是有在java环境下才能运行,Java的安装,我这里就不再赘述了,网上资料也非常的多,笔者安装的是java vers...
            13 15 2719
            分享
      • 51testing软件测试圈微信