Postman接口测试实战从入门到精通

什么是接口测试

接口测试就是针对软件对外提供服务的接口的输入输出进行测试,以及接口间相互逻辑的测试,验证接口功能与接口描述文档的一致性。

为什么做接口测试

接口测试通常能够对系统测试得更为彻底,更好地保障产品质量,同时越早地发现更底层的问题,修改和维护的代价也越小。

如何做接口测试

根据接口文档设计用例,调用接口,验证结果。

接口测试流程

获取接口信息

通过接口文档和抓包来获取接口的几本调用方式和返回数据。
【通过选中和删除参数,来判断哪些参数是必填的,哪些参数是选填的。】

接口测试用例设计

根据获取到的接口信息,按照接口测试用例设计方法,设计参数和预期返回结果

接口发包

使用工具或者编程向接口传递参数。

返回信息验证

获取接口返回的结果,进行解析和验证。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实战一:百度IP接口测试实战

百度ip查询接口从抓包到测试
在这里插入图片描述
在这里插入图片描述
抓包之后一共有四个返回数据。其中1,2,4为gif图,3位js脚本,我们应该关注的就是3.
在这里插入图片描述
步骤:
1.复制一下Request URL,下面在Postman中测试一下这个接口:
在这里插入图片描述
我们复制进去后,会自动根据&符号分隔,找出url中的参数及参数值。

2.点击send按钮,执行接口测试,得到一下返回数据:
在这里插入图片描述
在这里插入图片描述
总结:ip接口测试实战中的Header中的referer可以添加,也可以不添加,没有影响我们需要的结果。

实战二:需要设置头域的请求实战

在这里插入图片描述
1.当我们对接口进行访问,而不设置头域时,会发现这时候返回的信息不是我们想要的:

2.这时,我们加上Header中的referer,就能拿到我们想要的数据了:
注意:究竟要加Header中的哪一个属性,是由接口文档来决定的,针对本例来说,是referer,referer一般用来指明此次请求的来源,这种确定来源呢也是一种防止爬虫的策略。本例就是,只有腾讯课堂下的来源,才能发送此请求

在这里插入图片描述

实战三:POST请求实战

在这里插入图片描述
即POST相比于GET,我们需要在Body中输入传入的数据:

在这里插入图片描述
如果Body中传入的数据格式为x-www-form-urlencoded,那么,我们可以省事一点,直接在URL后面按照get传参一样,拼接在后面,如图size=2;
在这里插入图片描述

断言与变量

举例天气预报接口测试(全局变量):
在这里插入图片描述
变量命名方式:{{variable}}
变量的声明:

在这里插入图片描述
在这里插入图片描述
点击Globals,设置全局变量,店里Add,设置局部变量。

举例百度IP地址查询(环境变量):
在这里插入图片描述
环境变量如何引用?
在右上角选择要使用的一组环境变量。
在这里插入图片描述

注意:当全局变量和引入环境中的局部变量同名时,优先选用环境变量。

测试沙箱实战

在这里插入图片描述

Pre-request Script:在请求发送前执行的操作

在这里插入图片描述
在这里插入图片描述

Test:在请求发送后执行的操作

可以在右侧的导航栏中选择系统定义好的常用的操作
在这里插入图片描述

1.状态码测试Status code:Code is 200

在这里插入图片描述
在这里插入图片描述

2.包含字符串测试Response body:Contains string

注意:在测试主体返回的字符串中是否包含某一个字符时,Body视图不要用Pretty这种美化过的,而是用raw类型的。因为有可能pretty中的是已经解码过的数据。
在这里插入图片描述

3.Json键值对测试 (JSON value check)

我们测试Json下的result下的city,每一级之间通过“.”运算符链接:
在这里插入图片描述

4.校验头域中是否包含某一个属性(Content-Type header check )

【之所以方法叫这个名字,是因为,一般返回的头域中是包含属性Content-Type的】
在这里插入图片描述

5.检验响应时间是否小于一个值(Response time is less than 200ms)

在这里插入图片描述

6.验证返回的状态码的值是不是某几个中的一个(Status code :Successful Post request)

在这里插入图片描述

测试管理-测试集与数据驱动

测试集

步骤:
1.
在这里插入图片描述
2.
在这里插入图片描述
3.
在这里插入图片描述

数据驱动

在这里插入图片描述
在这里插入图片描述

步骤:

1.我们首先将要测试的数据写在excel表格中。
在这里插入图片描述
2.然后另存为csv格式。因为,要使用数据驱动的话,需要用csv或者json格式的数据。
在这里插入图片描述
3.进入Postman进行操作。
(1)点击Runner
在这里插入图片描述
(2)选择数据
在这里插入图片描述

(3)点击Preview进行预览。
在这里插入图片描述
我们发现,有乱码。为什么呢?因为Postman中的编码格式是UTF-8,而我们文件的格式是GBK,那我们就要进行格式的转换。
将DDdata.csv使用记事本打开。点击 文件->另存为->utf-8

在这里插入图片描述
重新选择文件并预览:
在这里插入图片描述
我们可以看到,excel表中的第一行对应于变量名。
而下面的每一行记录,其实对应的就是每次迭代时对应变量的值。
在这里插入图片描述
我们看到,当我们引入文件后,这个Iterations就自动显示了3,因为我们的数据中就只有三行。这也提醒我们,在用记事本打开时,不要不小心在后面加入一个换行符,要不然会迭代一次空的。

(4)Run之后的结果
在这里插入图片描述

进阶实战-cookie篇

在这里插入图片描述
下面,我们登录一下testingedu.com.cn:8000
点击登录按钮时,打开f12抓包,选择XHR(xml http request)格式。

下面是抓包结果:
在这里插入图片描述
cookie使用的两种方式:
1.我们已经拿到了cookie,在Header中添加。在这里插入图片描述
在这里插入图片描述
2.先执行登录操作,postman会自动给我们存下来cookie,之后执行购物车查询。
在这里插入图片描述

  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值