网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
"username": "Surpass",
"password": "Surpass"
},
{
"username": "Kevin",
"password": "Kevin"
},
{
"username": "Diana",
"password": "Diana"
}
]
>
> 数据格式类似于表格,第一行对应**变量名**,后面数据对应相应的测试数据
>
>
>
下面来看看操作步骤:
* 1、打开Run Collection界面,填写运行次数、导入测试数据集,最后点击Run Collection
![](https://img-blog.csdnimg.cn/img_convert/9bf04123ce238578f0b9e2b037bb443d.png)
* 2、运行结果如下所示:
![](https://img-blog.csdnimg.cn/img_convert/0a9a252b5f58c3d38a628d7bc9d781bf.png)
#### 2.定期任务
Postman提供了一个Monitor功能,支持提交具有定时功能的测试任务,可以按设置的定时器执行接口用例,操作如下所示:
![](https://img-blog.csdnimg.cn/img_convert/9f7cb21dbbb19cd21328207b9705b3ad.png)
#### 3.接口依赖
**接口依赖**就是在执行一个接口时,其数据会依赖于其他接口,其本质上是一个接口数据传递的问题。例如:比如在删除用户时,必须要求携带相应的token,而token则是在用户登录后才会产生。
3.1 接口执行顺序
* 1.默认执行顺序
在Postman中默认的执行顺序,是按照在Collection中的**目录顺序**执行,即从上到下依次执行。
![](https://img-blog.csdnimg.cn/img_convert/aa156dcdd45f0824601b77f6f5a4a841.png)
* 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 responseBody=pm.response.json()
var username=responseBody.args.username
var password=responseBody.args.password
pm.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 responseBody=pm.response.json()
var username=responseBody.form.username
var password=responseBody.form.password
console.log(“修改密码接口 - username”,username,“修改密码接口 - password”,password)
* + 3、查看运行结果如下所示:
![](https://img-blog.csdnimg.cn/img_convert/703fd1922220517a0ed5a58c7a17c6a6.png)
在使用自定义接口执行顺序时,需要注意以下几点:
>
> **postman.setNextRequest()**仅在运行集合测试时生效,即在Run Collection时才生效,单独运行接口时不生效
>
>
>
>
> **postman.setNextRequest()**在运行时,在跳转时会忽略跳转时中间包含的接口,跳转后的接口如果仍然有接口则继续运行后续接口,即如果有接口A/B/C/D/E/F,如果设置的跳转条件为A->D,则最终执行的接口顺序为A->D->E->F,B和C接口被忽略
>
>
>
>
> 跳转指定的接口必须位于同一个Collection内
>
>
>
>
> **postman.setNextRequest()**函数不管在Tests脚本中何处被调用,它都只在当前脚本最后才被真正执行。
>
>
>
![img](https://img-blog.csdnimg.cn/img_convert/665656c85d4fb35032dc6fa2172ec572.png)
![img](https://img-blog.csdnimg.cn/img_convert/c04385bfd8d723811b21a7f8eba8d49e.png)
![img](https://img-blog.csdnimg.cn/img_convert/b9960347f9a62cae4ec0825ae9b65511.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618631832)**
升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618631832)**