接口测试 4. 使用 postman 做接口测试 (一)

solo · 2017年07月25日 · 最后由 solo 回复于 2017年08月01日 · 3070 次阅读

经过三篇文章的预热,大家对接口测试和 HTTP 协议有了一个初步了解,今天咱们切入正题:如何执行 HTTP 接口测试。包括如下三步:

  1. 构造一条符合要求的 HTTP 请求消息;
  2. 发给我,我给你回响应;
  3. 你读取 HTTP 响应,检查响应内容是否正确。

今天我们就讲,如何使用postman发送符合要求的 HTTP 请求。

how-如何安装 postman

postman 是 chrome 浏览器的一个插件,这里不讲如何安装,各位自己百度解决。

how-如何使用 postman 发送符合要求的 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}


使用 postman 构造这个请求的步骤如下:

  1. 选择请求方法
  2. 输入请求 URL
  3. 输入请求参数值
  4. 发送

image

从图中我们可以看到,服务器返回了正确的响应。至此,你已经完成了接口测试的第一条用例。bingo!就是这么简单。

如果你想测试更多的用例,也很简单,a 和 b 传不同的值就好。

补充说明

HTTP 请求传参数最常见的有 4 种方式:

  • get 方式,参数值放到 url 中,如http://192.168.27.184:8081/add?a=1&b=1
  • 表单方式,示例中的 “a=1&b=1” 放在 body 中,头部的 Content-Type 是 application/x-www-form-urlencoded
  • json 传值,body 是:{"a":1,"b":1},头部的 Content-Type 是 application/json
  • xml 传值,头部的 Content-Type 是 application/xml

当接口定义用的是不同的传值方式时,只需在 postman 上做相应修改就好。

总结

今天讲了 postman 的最简单使用,也补充了一点 HTTP 请求传参的知识。这里抛出 2 个问题:

  • 如果没有接口文档,你如何做接口测试?
  • 如果有接口文档,你按照接口文档的定义,使用 postman 发送了请求,得不到服务器的正常响应,怎么办?

欢迎大家留言讨论。

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

共收到 6 条回复 时间 点赞
  1. 没有接口文档,我一般通过抓消息来解决;
  2. 如果使用 postman 发送请求得不到正确响应,将 postman 发的消息抓到,然后将正常是的消息抓到,可以采用消息对比的方式找到差异。

第一点,没有接口文档那叫攻击,哈哈。
第二点,在确定你发的请求,地址正确、参数正确、加密算法正确、文件正确、服务在线的前提下。拿着你的证据跟开发先沟通,后提 bug。

平时我也经常用,超级方便~

没有接口文档?F12 看 Network
得不到正确响应,看下服务器返回的状态码,再查自己的 URL、参数、方法。

(1)没有接口文档,感觉无法测试呢。各位大神们,会怎么处理呢?
(2)如果自己的 url、method, 参数等都是正确的, 那需要找开发聊下,哪里出了问题,是否是 bug

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