测试经验|使用Sniffer(嗅探器)节省时间精力的几种情况:以抓包神器Proxyman为例

📝 面试求职: 「面试试题小程序」内容涵盖 测试基础、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%免费】
在这里插入图片描述
在这里插入图片描述

[menu_102] 70001=文件(&F) 40024=开始捕获(&S) 40025=停止捕获(&T) 40045=保存配置(&C) 40046=载入配置(&O) 40034=保存数据包数据到文件 40035=载入数据包数据文件 40039=导出 TCP/IP 流报告(&E) 40001=保存数据包摘要(&A) 40009=属性(&P) 40002=退出(&X) 70002=编辑(&E) 40031=复制(&C) 40007=全选(&A) 40015=全部取消选定(&D) 40032=下一项(&N) 40033=上一项(&P) 70003=查看(&V) 40005=显示网格线(&G) 40028=显示气球提示(&T) 40010=HTML 报告 - TCP/IP 流(&H) 40011=栏位设定(&N) 40012=自动调整栏的宽度(&A) 70004=选项(&O) 71001=显示模式(&M) 41101=自动(&A) 41102=ASCII(&S) 41103=16进制(&H) 71002=显示协议(&P) 41201=&TCP 41202=&UDP 41203=&ICMP 40027=显示 ASCII 码大于 127 的字符(&C) 40041=显示捕获时间(&T) 40042=将 IP 地址解析为主机名 40044=显示过滤设置 40040=高级选项(&A) 40043=捕获过滤设置 40026=选择设备(&O) 70005=帮助(&H) 40003=关于(&A) 41104=&URL 列表 [menu_104] 70001=Popup1 40010=生成 TCP/IP 流的 HTML 报告(&H) 40039=保存 TCP/IP 流报告(&E) 40001=保存数据包摘要(&A) 40011=栏位设定(&N) 40012=栏位自动宽度(&A) 40007=选择全部(&A) 40015=取消已选定(&D) 40031=复制(&C) 40032=下一项(&N) 40033=上一项(&P) 70002=Popup2 [dialog_105] caption=属性 1=确定 [dialog_108] caption=捕获选项 1007=原始套接字 (仅Windows 2000/XP) 1008=使用 WinPcap 包捕获驱动 1005=List1 1=确定 2=取消 1006=捕获方式 1009=选择网卡: 1045=选择网卡: [dialog_112] 1=确定 [dialog_113] caption=高级选项 1035=即时显示模式 - 捕获的同时列出 TCP/IP 会话 1011=每行字符数: 1013=显示时,在每 1025=显示 ASCII 字符 1026=在每行开头显示偏移量 1014=自动决定显示模式时要检查的字符数: 1032=不可显示的 ASCII 字符替换为: 1036=自动模式中, 若数据长度大于此限制则不显示16进制数据 1038=在下部面板中不显示数据长度大于此限制的项 1019=选择 1022=选择 1029=选择 1=确定 2=取消 1010=16进制显示选项 1015=个字符后插入额外的空格 1016=文字颜色 1017=源于本地主机的 TCP/IP 流的文字颜色: 1020=源于远程主机的 TCP/IP 流的文字颜色: 1030=捕获时间的文字颜色: 1031=常规显示选项 1034=捕获 1039=KB 1041=KB 1042=捕获同时显示 TCP/IP 会话内容开始的部分 1043=仅显示 TCP/IP 统计数据, 不在文件中保存捕获数据 1044=捕获时亦获取进程信息 1045=摘要模式 (每个连接之间不换行) [dialog_114] 1=确定 2=取消 3=清除 1037=输入一条或多条过滤规则, 以空格或回车分隔。以下是过滤字规则的几个: [dialog_1096] caption=栏位设定 1003=上移(&U) 1004=下移(&D) 1006=显示(&S) 1007=隐藏(&H) 1008=默认 1=确定 2=取消 1000=钩选要显示的内容, 用上移或下移按钮排列显示顺序 1002=栏位宽度(像素): [strings] 4=%d 个 TCP/IP 会话 5=, 选定 %d 个 6=创建本文件使用的是 7=选择保存文件的名称 8=数据包摘要 9=无法启动选定网卡上的包捕获。 10=该项所含数据长度超过 %d KB 限制。 11=可使用导出选项将此项保存到文件中。 12=此 TCP/IP 会话太大,无法在捕获同时显示。 13=停止捕获后将显示会话的完整内容。 14=正在加载... %d 15=已捕获 %d 个数据包 16=错误: 无法创建数据包文件! 17=正在捕获... 18=选择用于保存已捕获数据的文件名 19=载入存有数据包数据的文件 20=确定要停止捕获并退出 SmartSniff 吗? 21=选择用于保存已捕获的数据包流的文件名称 22=数据包流报告 23=当前操作含有非常大的数据包流,载入过程可能很慢,要继续吗? 24=选择要保存的配置文件名 25=选择要载入的配置文件 51=捕获过滤选项 52=显示过滤选项 101=字节 501=文本文件 502=制表符分隔的文本文件 503=空格分隔的表格化文本文件 504=HTML 文件 - 水平方式 505=HTML 文件 - 垂直方式 506=XML 文件 521=ICMP 522=TCP 523=UDP 541=文本文件 542=HTML 文件 543=原始数据文件 601=SmartSniff 数据包文件 602=tcpdump/libpcap 文件 621=SmartSniff 配置文件 1001=编号 1002=协议 1003=本地地址 1004=远程地址 1005=本地端口 1006=远程端口 1007=数据包数量 1008=包含封装信息的总数据量 1009=捕获时间 1010=不含封装信息的数据量 1011=服务名称 1012=本地主机 1013=远程主机 1014=进程号 1015=进程文件名 1051=IP 地址 1052=设备名称
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值