网站建设的因素,杭州网站排名优化,临沂免费模板建站,上线了建站教程Postman除了前面介绍的一些功能#xff0c;还有其他一些小功能在日常接口测试或许用得上。今天#xff0c;我们就来盘点一下#xff0c;如下所示#xff1a;
1.数据驱动 想要批量执行接口用例#xff0c;我们一般会将对应的接口用例放在同一个Collection中#xf… Postman除了前面介绍的一些功能还有其他一些小功能在日常接口测试或许用得上。今天我们就来盘点一下如下所示
1.数据驱动 想要批量执行接口用例我们一般会将对应的接口用例放在同一个Collection中然后再通过Runner批量执行。这种方式适用于接口用例参数固定的情况下但也存在另一个问题如果每次运行时接口参数都在变化该如何操作了 认真看过前面文章的童鞋可能已经猜到将变量参数化就可以了。但这种方式存在也存在另外一个问题就是需要每次将参数提前设置好比如在Pre-request Script中设置如下
pm.environment.set(username,Surpass)
pm.environment.set(password,Surpass) 使用Pre-request Script设置环境变量并进行赋值不论运行多少次其实还是用固定的的数据进行测试。 既然以上两种方式都不能解决我们的问题那将数据写到文件中然后从文件中读取是不是可以在Postman中其实也提供了这种方式。 这种用于存放测试数据的文件一般称之为测试数据集 在Postman中测试数据集支持两种格式csv和json
csv格式
username,password
Surpass,Surpass
Kevin,Kevin
Diana,Diana
...
json格式
[{username: Surpass,password: Surpass},{username: Kevin,password: Kevin},{username: Diana,password: Diana}
] 数据格式类似于表格第一行对应变量名后面数据对应相应的测试数据 下面来看看操作步骤
1、打开Run Collection界面填写运行次数、导入测试数据集最后点击Run Collection 2、运行结果如下所示 2.定期任务 Postman提供了一个Monitor功能支持提交具有定时功能的测试任务可以按设置的定时器执行接口用例操作如下所示 3.接口依赖 接口依赖就是在执行一个接口时其数据会依赖于其他接口其本质上是一个接口数据传递的问题。例如比如在删除用户时必须要求携带相应的token而token则是在用户登录后才会产生。
3.1 接口执行顺序
1.默认执行顺序 在Postman中默认的执行顺序是按照在Collection中的目录顺序执行即从上到下依次执行。
2.自定义执行顺序 如果按默认的目录顺序执行通常无法其业务需求好在Postman提供了一个函数 postman.setNextRequest(你要跳转的接口名)支持跳转到指定接口执行。例如在执行完接口用户查询后跳过接口用户新增直接跳转执行修改密码示例如下所示
1、在用户查询接口Tests中添加如下代码
if(pm.response.code 200 pm.response.text().toString().indexOf(username)!-1 ){// 如果 响应码为 200 且 返回body中包含username则代表查询成功pm.test[query] true;var responseBodypm.response.json()var usernameresponseBody.args.usernamevar passwordresponseBody.args.passwordpm.environment.set(modifyUsername,username)pm.environment.set(modifyPassword,password)console.log(go to request : 修改密码)postman.setNextRequest(修改密码)}
else{pm.test[query] false
}
2、在修改密码接口中Tests中添加如下所示
console.log(run 修改密码接口)
var responseBodypm.response.json()var usernameresponseBody.form.username
var passwordresponseBody.form.passwordconsole.log(修改密码接口 - username,username,修改密码接口 - password,password)
3、查看运行结果如下所示 在使用自定义接口执行顺序时需要注意以下几点 postman.setNextRequest()仅在运行集合测试时生效即在Run Collection时才生效单独运行接口时不生效 postman.setNextRequest()在运行时在跳转时会忽略跳转时中间包含的接口跳转后的接口如果仍然有接口则继续运行后续接口即如果有接口A/B/C/D/E/F,如果设置的跳转条件为A-D则最终执行的接口顺序为A-D-E-FB和C接口被忽略 跳转指定的接口必须位于同一个Collection内 postman.setNextRequest()函数不管在Tests脚本中何处被调用它都只在当前脚本最后才被真正执行。