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

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

之前讲了如何使用 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 还有很多其他很不错的功能,比如让响应超时、修改响应等,有兴趣的盆友可以自己探索。

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

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