要先想进行接口测试,就必须掌握以下几个内容:
(1)请求地址
(2)请求协议
(3)请求方式
(4)请求头
(5)请求参数
ps:公司没有接口文档也并非完全没办法测试接口,仍然可以通过抓包工具获取,但要想测试接口,还是需要上述的必要条件。
常见请求方式主要为GET请求与POST请求,常见的传参格式为请求体提交与表单提交
collection集合在接口测试中显得尤为重要,最重要的功能就是集合请求,将个别请求进行分组处理,这些请求可以进一步组织成文件夹,创建集合的好处主要有以下几点:
统一化: 将对应的请求集合在一个文件夹下,以便统一化的执行、调用、修改等
文档 : 增删改查文件夹的内容,可以备注
测试套件: 将测试脚本附加到请求并构建集成测试套件
条件工作流程: 脚本可以在API请求之间传递数据,并构建反馈实际用例API的工作流。
点击Postman左侧的集合创建按钮(+号),则可进行集合创建:
我们可以通过右键新创建的合集进行名称修改,右键集合名 → Rename:
右键集合后我们可以新建下一个层级,点击Add Folder
我们可以在文件夹下新建一个请求,这样这个请求就隶属于这个合集下对应文件夹,右键文件夹或总合集,点击Add Request新建请求
可以直接在下图红框处修改名称,也可以直接右键重命名,方式与集合一致
通常而言接口地址为固定地址,修改的只需要是模块名称,但每次新建又会很麻烦,可以右击请求title,并选择Duplicate Tab 来复制一个请求,在复制的基础上进行修改,,需要提前将复制出的接口保存到文件夹下(复制是完全复制前一个请求接口所填写的信息)
复制完成后能看到名称也是一致的,并会有橘色提醒,即代表着未进行保存,快捷键ctrl+s可进行保存,也可以通过点击Save进行保存
collection集合执行顾名思义是将集合下的所有请求统一执行,点击集合右侧的三个点,再次选择Run collection:
打开后会展示如下界面:(图中只有一个请求,举例子,目的是让大家清楚工具使用,真实测试时有多个请求即可)
接口collection变量可以理解成集合专用变量,则在集合下可使用的全局变量,在对应的请求中调用对应变量,则可以使用全集合专用变量,当collection集合变量修改时,对应调用请求的变量也会一同修改,选择3个点,选择Edit打开界面:
ps:变量则是让接口与接口之间存在关联性的联系,例如注册某网站,那么注册与登录必定是使用同一个用户名进行登录,那么在用户名这里,两个变量则是相同变量,此时我们就可以使用collection集合变量进行设置并调用
选择Variables后进行一个变量的设置,设置完成后进入单个请求中进行调用
将原变量替换掉,使用两个花括号进行变量的调用,这里格外需要注意的是集合修改后务必需要保存,保存后才能够调用到变量,否则会默认当成保存前的数据
全局变量可针对集合、某个接口进行的变量设置,在任何情况下不受到特定环境因素的影响下,也同样可以使用全局变量,全局变量针对所有集合、接口生效,点击任意一个请求,在界面最右侧点击眼睛的图标:
点击后会展开一个下拉界面,Globals则是全局变量,点击该界面右侧的Add进行全局变量的设置:
点击Add后会打开Globals窗口,进行变量设置(特别需要了解的是集合中的变量名称不能与全局变量名称一致,要时刻注意,设置完成后在传参处调用即可,调用方式同collection集合调用):
环境变量是与集合类似,环境变量只能在特定的环境下使用,例如测试环境、正式环境等,在测试环境中的变量则不能用于正式环境,环境中的变量是独立的,查找的方式与全局变量方式一致,点击眼睛图标,找到环境变量后,点击Add,进入到界面后可以设置一个新的变量,最后进行调用,调用同collection集合方式:
这里设置了2个环境变量,分别是测试环境与正式环境,正式环境与测试环境的变量是独立的,使用方式仍然与集合变量的方式一样,使用两个花括号并填写变量名即可(下面的URL是演示使用,大家用自己的接口地址即可)
在右侧这里默认是No Environment,没有环境变量,我们自己设置好环境变量后,可以自主的选择环境,例如正式环境,而后修改对应的内容为环境变量即可
通过Tests,将接口的返回结果取出后设置为对应的变量,后续的相关接口就可以通过变量值进行接口关联,图中的例子是取token值,取出后选择好对应的环境变量并点击send,在小“眼睛”处可以查看到对应的token信息:
Tests属于Postman内置的强大断言功能,可以通过内置的脚本直接进行调用,不需要过多的学习JavaScript的内容,非常方便且对新手友好,常见Tests响应断言的几种方式:
1、Response body:Contains string (校验返回结果中是否包含某个字符串)
2、Response body:Is equal to a string (校验返回结果是否等于该字符串)
3、Response body:JSON value check (校验返回结果中某个字段值是否等于某个值)
4、Response header:Content-type header check(检查响应头是否包含某个值)
5、Response time is less than 200ms (检查响应时间是否少于200ms)
6、Status code:Code is 200(检查状态码是否为200)
我们也可以选择Tests后在右侧看到相关的说明,点击后会直接在Tests中生成内容,具体的用法,大家可以百度自行查询,这里有很多相关的Tests断言,不逐一讲解:
在接口测试时,部分请求参数都是重复的,那么我们就可以使用接口参数化,接口参数化可以很大程度上减少重复工作时间,常用的接口参数化有三种方式:csv、txt、json文档参数化(本次以txt进行举例):
1、举例前需要一个必要的前置条件,接口参数化必须在集合中进行操作,故此我们需要先创建个集合并把相关接口放置集合中(上面有提到如何创建集合以及把接口放置对应集合下,这里省略图片~)
2、在本地可以创建个对应的txt文档,参数间隔使用英文逗号:
3、关闭txt文档上传txt,点击按钮后,选择对应的文本文档并点击打开按钮上传:
4、上传文档后选择txt文本格式,点击右侧的Preview可以进行预览,一切安排好后,点击Run即可(效果类似上面的集合执行结果,这里不在放图说明了,小伙伴们快自己尝试一下吧~):
在日常的接口测试、自动化接口测试时会出现大量的重复参数,即对同一个不允许重复的参数进行传参时,可以确保参数内容不重复,最典型的例子就是注册,注册的手机号在第一次注册时为注册成功,如果第二次使用同一个手机号,势必会提示手机号已注册,在这类场景下,我们需要使用接口随机数以确保参数不重复,随机数主要有以下3个方式:
{{$guid}}:添加一个v4风格GUID
{{$timestamp}}:将当前的时间戳,精确到秒、毫秒时,后面增加000即可(执行结果也是个随机数,这里就不放图撩~)
{{$randomInt}}:随机整数,添加0到1000之间的随机整数
效果大同小异,输出的结果例如:“ename”:“CSDNmengxiaotian156”
Monitor监视器是Postman内置的监控模块,作用类似于Jinkens,可以设置按照分钟、小时、周等单位进行监控且在接口出现错误的情况下可以设置邮件通知(最多支持5个),非常重要且强大的功能(用过的都说好,手动滑稽)
Monitor也必须要依赖集合运行,所以小伙伴们在测试的时候还需要有个集合,日常集合3个点,选择Monitor,然后:
下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】