目的
在平时做测试工作的时候会遇到需要获取token才能请求的接口的场景,这时候就要多接口关联的一个测试。
前期准备
1、postman软件
2、接口文档(我使用的是一个电商网站的接口文档,这里给大家分享一下:http://111.231.103.117:8083/swagger-ui.html#/cart-controller/deleteUsingPOST)
具体示例
测试接口任务:
1、登录网站,获取token
2、使用获取的token,请求购物车列表,获取productid
3、根据productid,删除商品
4、获取(查询购物车列表),查看是否删除
登录——获取token
设置请求方式get,输入请求地址,输入接口参数:用户名和密码
配置环境变量jwt_token
在Tests中设置断言,并将响应中的数据作为jwt_token存储
测试单接口,成功返回参数:
获取购物车列表——获取productid
对照接口文档,不需要输入参数,但是如果不输入token的话,是无法获取购物车列表的,说明你用户没有登录:
因此需要将之前设置的环境变量在header中作为变量输入:
postman中变量的调用是{{变量名}}的格式。
测试单接口,成功返回购物车列表。
将响应数据中的productId作为变量进行存储,因为删除购物车商品,需要提供productId值。
根据productid,删除商品
参照接口文档,删除购物车商品,需要提供商品的id
同理,将上述获取的productid作为输入参数:
测试单接口,成功返回数据,说明删除成功:
获取查询购物车列表,查看是否删除
和第二步一样,查看当前购物车列表是否存在该商品,若无,则表示删除成功。这里需要对是否删除成功进行验证,我们对它进行一个断言的处理:
在第二步获取购物车列表的时候,使用变量old_num 存储当前购物出中的商品的数量,在删除之后,使用new_num存储删除后购物车中的商品的数量,若old_num - 1 == new_num 则表示删除成功;另一种方式可以通过连接数据库的方式,查询该商品是否存在于购物车判断。
思路来自于: https://www.cnblogs.com/gshtest/p/15901403.html
总结:
多接口关联测试是检验我们是否掌握postman工具的一个很好的案例,同时也能锻炼我们的代码能力。难点在于如何设置环境变量并应用和设置断言。欢迎测试大佬的批评和指正!