1.Wireshark
安装完成后,打开Wireshark,选择一个要监听的网络后,出现如下页面。

协议颜色标识定位在菜单栏View --> Coloring Rules,可自行更改。

第一栏为过滤栏,由于抓包信息过多,自己往往只需要抓取特定的某一个,所以设置了过滤器,可以看作是一个关键字筛选。
第二栏是一些基础信息。Source(源头地址)、Destination(目标地址)、Protocol(协议)、Length(字节长度)、Info(信息)

分别代表含义:
(1)Frame: 物理层的数据帧概况
(2)Ethernet II: 数据链路层以太网帧头部信息
(3)Internet Protocol Version 4: 互联网层IP包头部信息
(4)Transmission Control Protocol: 传输层T的数据段头部信息,此处是TCP
(5)Hypertext Transfer Protocol: 应用层的信息,此处是HTTP协议。Wireshark参考


如上图,为过滤器的使用方法,可利用过滤器,筛选符合条件的包。
2.postman
下载地址:https://www.postman.com/downloads/
一个接口请求需要设置:请求URL,请求方法,请求头,请求参数。同样的,在postman中,我们也只需要设置这四项即可完成一次请求。下图为整体页面,左侧为项目文件的宏观管理,右侧可以创建请求。

如下图部分,GET为请求方式,右侧填入URL(GET请求的参数在URL链接上,所以,GET请求的请求头与请求参数如在接口文档中无特别声明时,可以不填。)

2.1 Request Body

- form-data 是网页表单用来传输数据的默认格式。可以模拟填写表单,并且提交表单。可以上传一个文件作为key的value提交(如上传文件)。但该文件不会作为历史保存,只能在每次需要发送请求的时候,重新添加文件。
- form-urlencoded 不能上传文件。该模式和表单模式会容易混淆。urlencoded中的key-value会写入URL,form-data模式的key-value是直接提交。
3)raw request 可以包含任何东西。所有填写的text都会随着请求发送。但需要注意更改上传的格式。
4)binary 可传图片,音视频,text文件等。
2.2 Responses
保证API响应的正确性,就是你需要做的大部分工作。postman的response viewer部分会协助你完成该工作且使其变得简单。一个API的响应包含body,headers,响应状态码。postman将body和headers放在不同的tabs中。响应码和响应时间显示在tabs的旁边。将鼠标悬停在响应码上面可以查看更详细的信息

如上图,共三种方式来查看Responses的响应体。
Authentication:鉴权,可以理解为身份验证。
1 Basic Auth:填写用户名和密码,点击Refresh headers
2 Digest Auth:要比Basic Auth复杂的多。使用当前填写的值生成authorization header。所以在生成header之前要确保设置的正确性。如果当前的header已经存在,postman会移除之前的header。
3 OAuth 1.0a:postman的OAuth helper让你签署支持OAuth 1.0基于身份验证的请求。OAuth不用获取access token,你需要去API提供者获取的。OAuth 1.0可以在header或者查询参数中设置value。
4 OAuth 2.0:postman支持获得OAuth 2.0 token并添加到requests中。
2.3 Write Test

本质上是javascript code,可以为tests object设置values。这里使用描述性文字作为key,检验body中的各种情况,当然你可以创建任意多的key,这取决于你需要测试多少点。 tests也会随着request保存到collection中。api测试保证前端后台都能正常的于api协作工作,而不用在出错时猜测是哪里的问题。 需要在request的test中创建了test后,再进行request,test的结果在body的test中查看。 注意:
- 这里的key描述必须是唯一的,否则相同描述只会执行第一个。
- 这里的key可以使用中文。 例子: tests[“Body contains user_id”] = responseBody.has(“user_id”)
这里描述性的key为:Body contains user_id。检测点为:responseBody.has(“user_id”),意思是检测返回的body中是否包含”user_id”这个字段。查看responses中的Tests结果:记过显示每个key,也就是我们测试点的具体结果,是否通过。具体用例可参考其中第四部分
3 JMeter
大体步骤为:
添加线程组–配置线程–添加Http请求–添加查看结果数–添加断言、断言结果–添加聚合报告–执行–分析报告
参考步骤
聚合报告参数详解:
- Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值
- #Samples:请求数——表示这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100
- Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,以Transaction 为单位显示平均响应时间
- Median:中位数,也就是 50% 用户的响应时间
- 90% Line:90% 用户的响应时间
- Min:最小响应时间
- Max:最大响应时间
- Error%:错误率——错误请求数/请求总数
- Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数
- KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec
一般而言,性能测试中我们需要重点关注的数据有: #Samples 请求数,Average 平均响应时间,Min 最小响应时间,Max 最大响应时间,Error% 错误率及Throughput 吞吐量。
本文介绍了测试常用的三个工具——Wireshark、Postman和JMeter的基础知识。Wireshark用于网络封包分析,Postman则是一个接口测试工具,允许设置请求URL、方法、头和参数。在Postman中,可以通过不同方式发送请求,如form-data、raw和binary。JMeter用于性能测试,包括添加线程组、Http请求、查看结果树和聚合报告等步骤,重点关注响应时间和错误率。
373

被折叠的 条评论
为什么被折叠?



