之前使用Jmeter参数化测试一个接口,再次记录一下postman的做法。
参考:
以上博主的内容丰富,包含批量运行,接口间依赖解决(关联),定时运行(需要登录)
https://blog.youkuaiyun.com/hqsary/article/details/81940077
Ubuntu18.0环境
postman官网下载就好,解压即用。
右键运行postman后,点击最下方一行小字"Skip .....",跳过注册登录。
新建一个Collections文件夹,又尝试右键"Add Folder"新建了两个子文件夹。
点击"+"号,新建了三个请求,保存到users文件夹下,其中Http的请求的参数设置大致都一样:请求方法,URL,Headers,body,data等。
在"Tests"结果验证使用的JavaScript代码。js不熟,但验证一下json字符串中的数据还是可以的。
var jsonData=JSON.parse(responseBody);
tests["确实是200"]=jsonData.code===200
鼠标点击"A hundred million"上的"三角"->"Run":
这里选择其中设置好变量引用的请求:register2,并指定运行次数,选择导入的数据文件(5条数据)。
和之前Jmeter的运行结果一样,2个成功,三个失败:
接口依赖,Jmeter里关联的问题。
postman可以通过Tests,将获取到的参数设置为环境变量或者全局变量,供其他接口调用。
需要的接口可以在Pre-request-script获取: var 参数名=pm.evironment.get("变量名")
试着写了一个后台接口Demo,接收name和password参数,返回json字符串。
在register01的tests中,设置获取到的token值为环境变量。
if(tests["确实是200"]=jsonData.code==200){//json字符串中有键:code
tests["login success"]=true;//判断是true,就会显示[]中的字符串信息
postman.setEnvironmentVariable("token",jsonData.token);//设置获取到的token值为"token"环境变量
postman.setNextRequest("registers03");
}
在registers03的Pre-request-script中获取变量:
结果验证:发出的请求确实带上了token值。