📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)
📝 职场经验干货:
Sniffer,中文可以翻译为嗅探器,也叫抓数据包软件,是一种基于被动侦听原理的网络分析方式。使用这种技术方式,可以监视网络的状态、数据流动情况以及网络上传输的信息。
Proxyman是一款专为macOS平台打造的原生高性能抓包工具,现在同时也支持在Windows、Linux、iOS等平台下使用,使安全、开发人员能够查看来自应用程序和域(包括iOS设备、iOS模拟器和Android设备)的HTTP/HTTPS请求,可以轻松地对网络请求进行拦截、修改和重放,从而提高工作效率和保障数据安全。
以下为作者观点:
当我刚开始从事测试工作时,流量嗅探器(Sniffer)对我来说似乎遥不可及。我脑子里想着,“嗯,它是为移动测试人员和开发人员准备的。我不需要它。”但后来我逐渐开始使用它们,并意识到嗅探器在某些情况下是必需品!
在本文中,我将向大家介绍流量嗅探器确实可以节省大量时间和精力的几种情况。
一、如何在不导致服务器崩溃的情况下捕获500错误
有时你想测试应用程序对错误 500 或 403 的反应。但你不想因此而导致服务器崩溃,对吗?或者等待某人创建一个具有 403 权限的特殊帐户?嗅探器在这里就可以发挥作用!
我们的做法:
1. 打开嗅探器,在 Map Local 中创建一个名为“Error 500 Emulation”的规则,然后输入所需的 URL。
2. 在响应字段中,写入:HTTP/1.1 500 Internal Server Error。
3. 保存规则并检查前端一切是否正常运行:
二、重定向(Redirecting)流量而不是等待开发人员
有时你需要立即进行测试,而不是等到一周后开发人员编译新版本时再进行测试。你想自己将流量重定向到另一个后端分支。嗅探器再次可以派上用场!
以下是我们的操作方式:
-
在 Map Remote 中创建一条规则,名为“重定向到新服务器”
-
在“URL”字段中,输入所有请求的当前发送地址
-
在“主机”字段中,输入请求应发送到的新服务器
-
保存后,你会发现你的请求无需开发人员的帮助就能到达需要的地方
三、替换第三方 API 的响应
你需要测试应用程序如何处理来自外部服务的不同响应,但在测试环境中无法访问它们,怎么办?没问题!用嗅探器替换响应即可。
比如:检查应用程序如何处理服务不可用的情况。将 API 响应替换为 503 服务不可用,然后查看应用程序的逻辑是否正常工作。
四、检查空白页状态
有时,你可能需要花费大量时间通过数据库或 API 删除数据,才能看到空列表或表格的显示效果。嗅探器允许你只需单击几下即可完成此操作。让我们使用 LEGO 网站上的订单示例来探讨这种情况。
当用户已经有一些订单时,页面的初始状态如下:
现在检查一下没有任何订单时页面的外观。操作如下:
-
捕获返回订单列表的请求。
-
右键单击请求并选择:工具>断点>保存。
-
在触发此请求的网站上执行操作。将打开一个包含“已捕获”请求的窗口。
-
执行请求,因为我们不需要在请求本身中改变任何内容。
-
在下一个窗口中,打开响应主体并删除所有记录的数据。
下面的屏幕截图显示了需要删除的内容:
发送修改后的响应后,重新访问该页面。现在,会显示一个带有占位符的空状态。如下所示:
五、测试对象状态
假设我们有一个状态为“已取消”的订单,但我们想看看其他状态会发生什么。我们无需询问开发人员或等待服务器更改,而是直接在嗅探器中更改状态。在下面的屏幕截图中,你可以看到我们有一个状态为“已取消”的订单:
以下是我们的操作:
1.捕获包含订单数据的请求。
2.将状态从“已取消”更改为“刚刚下单”。
3. 发送修改后的请求。现在,页面显示新的订单状态和相应的消息。如下所示:
其他案例场景
当然,嗅探器也可以非常有用地用在更多的场景:
-
测试超时和慢速连接:模拟延迟来检查应用程序如何处理它们。
-
测试分页:快速替换响应以查看分页如何工作。
-
替换请求标头:更改User-Agent或Accept-Language标头以测试不同设备和语言的内容显示。
结论
流量嗅探器不仅适用于开发人员和移动测试人员。它们是功能强大的工具,可以在最常见的情况下提供帮助。如果你尚未在项目中使用嗅探器,现在不妨试一试!
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取 【保证100%免费】