Postman实现接口自动化与数据驱动

背景

1、接口执行效率高,可测试的代码覆盖率高,维护成本低,属于低成本,高收益
2、postman操作简单方面,如果写脚本可以会花费一点时间
3、适应于代码能力不太好的同学
4、适用测试时,开发刚交付接口测试文档的调试

接口关联的原理

Postman为什么可以对接口就行关联,进而实现接口自动化,因为,postman可以设置全局变量。
Postman把上一个接口返回值,设置为全局变量,这样下一个接口就可以引用这个全局变量了。

实现接口自动化

本次我用两个简单的接口,来演示用postman实现接口自动化
登陆接口:http://127.0.1:8000/username?name=zhangsan&password=123456
输入用户名与密码,返回用户名

在这里插入图片描述1.1、接口
欢迎接口:http://127.0.1:8000/welcome?name=zhangsan
输入,登陆接口返回的用户名,返回“欢迎xx”
在这里插入图片描述
注:大家不要纠结接口的功能性,这个只是为了演示postman的接口自动化,用Django框架写的简单接口
1.2、疑问:
虽说我们把上面的接口调通了,可以运行了,但是我们遇到下面几个问题
(1)、每次我们运行第二个接口(欢迎接口),都要把前面一个接口(登陆接口)返回值,name取出来,作为输入参数,这样导致,每个不同的用户登陆,我都要去登陆接口的返回参数name,才能运行欢迎接口,这样就很麻烦
在这里插入图片描述
(2)、如果用户不同,那么登陆接口里面的name与password也会不同,每次不同的用户登陆时,都要重新输入用户名与密码,在我们测试中,如果我们要造很多的用户进行测试,那么就会很麻烦,操作起来很耗时间。
在这里插入图片描述
2、实现接口关联(接口串起来)
对于上面1.2提出问题,相信是我们在测试接口中,经常会遇到的问题,那么该怎么样解决呢
2.1、解决1.2(1)的问题(就是欢迎接口要不停输入name的问题):
postman中有个全局变量的功能,我们可以把,欢迎接口里面的name设置成全局变量,我们把登陆接口返回值name赋值给设置的全局变量,欢迎接口再去取最新的全局变量里面的name值就行了。
(1)、设置全局变量
我们需要把第二个接口(欢迎接口)输入值name设置成全局变量
在这里插入图片描述
设置里面设置欢迎接口name值的全局变量
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2)、给全局变量赋值
需要登陆接口返回的name值给全局变量names1赋值,这样names1里面的值才是最新的
var jsondata=pm.response.json()
pm.globals.set(“names1”,jsondata.name)
console.log(jsondata)
在这里插入图片描述
这样就解决了,欢迎接口频繁输入name的问题

实现数据驱动

3.1、解决1.2(2)的问题(就是登陆接口要不停输入用户名与密码的问题):
思路与上面类似,把用户名与密码也设置成变量,去配置文件(xx.csv文件)里面获取值
(1)、创建配置文件(xx.csv文件)
在这里插入图片描述2)、设置用户名与密码的变量,并写3组登陆数据
因为,登陆接口里面,输入值有:用户名,密码,所以,我们把用户名与密码的值设置成变量
在这里插入图片描述
(3)、接口用户名与密码的值改成配置文件(1.csv)里面的设置的变量
在这里插入图片描述
(4)、运行
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
运行成功,heihei就是1.csv里面的第一个数据

postman只是一个工具,方便不会写脚本的同学,掌握编程语言的同学可以使用脚本、测试框架、测试平台来实现。

注:以上仅个人见解,如有不对,请指正,谢谢。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值