之前讲了如何使用 Postman 做接口测试,相比 Postman,Fiddler 不能写断言,只能构造 HTTP 请求,并人工确认返回结果的正确性。但作为一个 HTTP 代理,Fiddler 可以抓取到浏览器发出去的 HTTP 请求,然后通过修改请求重新发送的方式,快捷地进行接口测试。
下面,我们还使用那个老例子进行讲解,例子如下:
我提供加法计算的接口,你要给我传递 2 个数(a 和 b),我给你返回一个结果。
请求报文可能是:
POST http://192.168.27.184:8081/add HTTP/1.1
Host: 192.168.98.178:8081
Connection: keep-alive
Host: 192.168.98.178:8081
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Accept-Encoding: gzip,deflate
a=1&b=1
响应报文可能是:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Cache-Control: no-cache
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
{"sum":2}
安装并打开 Fiddler 后,点击右侧的 Composer,就在 Composer 里构造请求即可,如下图。
注意:头部不用填 Content-Length 这个字段值,这个字段值是 Fiddler 自动加上的。
Fiddler 启动时,会在操作系统层面添加一个 HTTP 代理。在 Fiddler 的 Tools->Fiddler Options 菜单下,可以看到这个代理设置。
这时,在操作系统的控制面板->Internet 选项中就可以看到 HTTP 的代理。
HTTP 代理就是代理发送 HTTP 请求的。比如,你家花钱雇佣一个打电话代理,你要打电话给 10086,他就帮你拨 10086.
HTTP 代理包括但不限于如下两种作用:
今天讲了如何使用 Fiddler 做接口测试,包括如何使用 fiddler 构造请求、如何使用 fiddler 修改已发送的请求进行快速发送。除了这两个基本功能之外,fiddler 还有很多其他很不错的功能,比如让响应超时、修改响应等,有兴趣的盆友可以自己探索。
欢迎关注我公众号 “鹿爷聊测试”。