PostMan批量执行接口是以一种串行的方式在执行,并不是并发的执行。本文将对此进行试验,实验的方式也仅仅是针对于文章中描述的操作步骤,如果有任何不对的地方,欢迎指正。
文章目录
- Step1:新建Collections
- Step2:创建接口并存入Collection
- Step3:创建CVS文件并运行Collection
- Step4:优化配置
Step1:新建Collections
按照图示的1(找到Collections)–>2(点击+号创建一个Collection)–>3(Rename–>修改名称),完成新建和改名。一个Collection是一个组,可以将同模块下的相关接口都放入其中,便于管理和维护接口。
Step2:创建接口并存入Collection
新建一个待测试的接口,选中Save
旁边的箭头,然后选中Save as ...
,如下图所示,其中的可变参数均使用{{}}
包裹起来,待接下来在csv
文件中填充:
按照步骤:1(Step1创建的Collection)—>2(保存到Collection中)
Step3:创建CVS文件并运行Collection
新建xxx.csv
,然后将待填充的内容写入:
sn,userId,productType,type,module,brand,voiceParameter,id
"""1""","""1""","""productType""","""type""","""module""","""brand""",1,1
"""2""","""2""","""productType""","""type""","""module""","""brand""",2,2
"""3""","""3""","""productType""","""type""","""module""","""brand""",3,3
"""4""","""4""","""productType""","""type""","""module""","""brand""",4,4
"""5""","""5""","""productType""","""type""","""module""","""brand""",5,5
"""6""","""6""","""productType""","""type""","""module""","""brand""",6,6
"""7""","""7""","""productType""","""type""","""module""","""brand""",7,7
"""8""","""8""","""productType""","""type""","""module""","""brand""",8,8
"""9""","""9""","""productType""","""type""","""module""","""brand""",9,9
"""10""","""10""","""productType""","""type""","""module""","""brand""",10,10
说明:
- 第一列:
sn,userId,productType,type,module,brand,voiceParameter,id
为待填充的数据key
,key
要和接口中的占位符一直,顺序没有要求,在运行的时候,会根据相同的key
找到值,然后填充。 - 第二列以及之后的列:是具体的数据,数据的顺序和
key
的顺序要对应,因为填充值的时候就是按照顺序填充的。
字符串的变量,需要使用"""变量内容"""
的形式
按照步骤,选择csv
文件,并填写迭代的次数,间隔的毫秒数,然后运行。
点击运行,查看到的结果,可以看到,占位符的已经被cvs
文件中的值正确的填充了。
文章开头提到的:PostMan批量执行接口是以一种串行的方式在执行。可以在待执行的接口中加上线程休眠,如Thread.sleep(5000);
,然后点击批量执行,可以看到执行的结果是一个接着一个,并且每个之间都有休眠一段时间。如果是并发执行的,那么休眠的时间应该略等于一个线程的休眠时间,并不会将休眠时间累加。因此可以得出:PostMan批量执行接口是以一种串行的方式在执行。
Step4:优化配置
通过以上的3个步骤已经可以批量执行了,但是并不能直观的看出有多少次执行成功了,多少次执行失败了,即:不方便结果的统计。因此可以在Tests
中进行断言的书写,如下图所示:
首先找到Tests
,然后编写断言。第一行的含义是对responseBody
进行JSON
格式化,第二行的含义是自定义结果测试结果通过,当满足errorCode
值为0时,测试通过。
如上图所示,9次执行失败,1次执行成功。