接口测试 6. 使用 Fiddler 做接口测试

solo · 2017年08月28日 · 3799 次阅读

之前讲了如何使用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}


How-如何使用Fiddler构造HTTP请求并发送

安装并打开Fiddler后,点击右侧的Composer,就在Composer里构造请求即可,如下图。
image

注意:头部不用填Content-Length这个字段值,这个字段值是Fiddler自动加上的。

How-如何使用Fiddler修改抓到的消息并发送

Fiddler启动时,会在操作系统层面添加一个HTTP代理。在Fiddler的Tools->Fiddler Options菜单下,可以看到这个代理设置。
image

这时,在操作系统的控制面板->Internet选项中就可以看到HTTP的代理。
image

What-什么是HTTP代理

HTTP代理就是代理发送HTTP请求的。比如,你家花钱雇佣一个打电话代理,你要打电话给10086,他就帮你拨10086.

Why-为什么要HTTP代理

HTTP代理包括但不限于如下两种作用:

  • 隐藏真实源IP。你让代理帮你打电话,在电话接收方看不到你的IP。
  • 突破自身的IP访问限制。比如,在国内,你访问不了谷歌,但有一个代理他能访问谷歌,你就可以将HTTP请求发给他,他代你访问谷歌。

How-使用Fiddler修改抓到的消息并发送

  1. 选中发过的请求,右键
  2. 点击Replay
  3. 点击Reissue and Edit
  4. 修改body里面的内容
  5. 点击Run to Completion image image

总结

今天讲了如何使用Fiddler做接口测试,包括如何使用fiddler构造请求、如何使用fiddler修改已发送的请求进行快速发送。除了这两个基本功能之外,fiddler还有很多其他很不错的功能,比如让响应超时、修改响应等,有兴趣的盆友可以自己探索。

欢迎关注我公众号“鹿爷聊测试”。

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册