系列文章目录
提示:阅读文章前,请先阅读目录
文章目录
前言
Postman是目前主流的接口测试工具之一,其简单易用,使用集合,多人协作,创建环境,创建测试,自动化测试,调试以及持续集成。
在日常工作中,拿它来调试接口,是非常的方便的,也可以直接做接口自动化测试,因为提供了断言的功能,可以在获取返回数据,然后进行断言。
一、安装
官网下载地址:https://www.postman.com/downloads
下载完直接安装即可,不需要什么配置
不过,打开之后,需要登录一个postman账号,这个时候,没有的话,注册一个即可
二、 功能介绍
下图是Postman的工作区间,各个模块功能的介绍如下:
1、New,在这里创建新的请求、集合或环境;还可以创建更高级的文档、Mock Server 和 Monitor以及API。
2、Import,这用于导入集合或环境。有一些选项,例如从文件,文件夹导入,链接或粘贴原始文本。
3、Runner,可以通过Collection Runner执行自动化测试。后续介绍。
4、Open New,打开一个新的标签,Postman窗口或Runner窗口。
5、My Workspace - 可以单独或以团队的形式创建新的工作区。
6、Invite - 通过邀请团队成员在工作空间上进行协同工作。
7、History - 所有请求的历史记录,这样可以很容易地跟踪你所做的操作。
8、Collections - 通过创建集合来组织你的测试套件。每个集合可能有子文件夹和多个请求。请求或文件夹也可以被复制。
9、Request tab - 这将显示您正在处理的请求的标题。默认对于没有标题的请求会显示“Untitled Request”。
10、HTTP Request - 单击它将显示不同请求的下拉列表,例如 GET, POST, COPY, DELETE, etc. 在测试中,最常用的请求是GET和POST。
11、Request URL - 也称为端点,显示API的URL。.
12、Save - 如果对请求进行了更改,必须单击save,这样新更改才不会丢失或覆盖。
13、Params - 在这里将编写请求所需的参数,比如Key - Value。
14、Authorization - 为了访问api,需要适当的授权。它可以是Username、Password、Token等形式。
15、Headers - 请求头信息
16、Body - 请求体信息,一般在POST中才会使用到
17、Pre-request Script - 请求之前 先执行脚本,使用设置环境的预请求脚本来确保在正确的环境中运行测试。
18、Tests - 这些脚本是在请求期间执行的。进行测试非常重要,因为它设置检查点来验证响应状态是否正常、检索的数据是否符合预期以及其他测试。
19、Settings - 最新版本的有设置,一般用不到。
三、Get 和 Post 请求
get 请求
测试网址:
https://jsonplaceholder.typicode.com/users
post请求
测试网址:
https://jsonplaceholder.typicode.com/users
三、 界面介绍
Params
params参数,会在请求时带上的参数,会直接加在url后面,并以 & 连接不同参数
key 是键名,value 是键值,description 是描述(只备注作用,不会带到请求参数)
在这里的 Bulk Edit ,进入编辑模式,对于大量的参数的话,可以用以下方式导入
需要用冒号隔开,一行一个参数
Authorization
这是鉴权方式
我们最常用的就是 bearer 鉴权 然后填入token,发送请求之后,便会自动在请求头加上
即会自动完成鉴权
当然,还有更多鉴权方式
Header
header 请求头
Body
在 Body 里面,有多种参数模式
none:无参数
form-data:表单格式,可以传入字典(键值对)或文件
x-www-form-urlencoded:只能传入字典,即键值对
raw:可以传入json,xml,html,javascript
binary:把文件转化为二进制,并传参
Pre-request Script
前置脚本处理器
我们可以在请求之后,使用postman的脚本,进行处理
Tests
后置脚本处理器,我们可以在请求之后,进行断言,脚本操作等
Cookies
cookie 管理
Test Result
我们在Tests编写的脚本,都会在下方的,TestResult 展示
四、环境变量和全局变量
环境变量
比如,
我们在进行A项目时,需要用到username和password
这时,我们需要切换到B项目,也是需要用到username和password
但是,两个username可能都不一样,那么,怎么样才能便捷的切换,不需要每次都去修改呢?
那就是需要用到我们的环境变量 Environment
Add,新增环境变量
点击Cancel就会返回到环境变量主页
这里只有选中环境变量只会,才会显示
我们选中test_a,然后发起请求,再看请求的参数
然后,我们在这里的参数,可以用{{变量名}} 来读取我们的环境变量
发起请求,然后,我们通过 Fiddler 来查看发起请求的时候,有没有把参数值带上
可以看到这里使用的是A环境变量时候的值
那我们切换到B
可以看到,就替换成B环境时候的值
全局变量
与环境变量操作方法一样,我们添加username和password
我们会发现,参数值被加上了划线,并且处于灰色状态
说明如果跟环境变量的参数名一致,那么
就会优先使用环境变量
我们可以添加一个email的全局变量看看效果
五、Collections 集合
创建集合
集合可以方便管理我们的api
可以这么说,集合就是项目
我们习惯性,给不同项目创建不同集合,这样的话
每个集合就有对应的api,统一进行管理
我们可以为集合单独设立一些参数
如:
鉴权,前置处理器,后置处理器,还有集合变量
当然,我们习惯性的,会为一个大集合下面创建N个子集合
代表,项目下的功能模块
比如,login,reg,home等
这样,我们就有一个清晰的项目结构,方便我们进行接口测试
添加请求
我们可以给集合添加请求
我们创建一个get和post的请求
然后,我们在Tests编写脚本代码
编写断言功能,来判断请求的结果是否符合我们的要求
(下一步,我们将进行集合运行,即自动化测试)
post请求,我们设置为响应状态码是否为200
get请求,我们设为响应时间是否超过200ms
然后保存即可
Runner 自动化测试
在自动化测试中,需要先创建集合,所以,请按照上面的步骤,创建好集合,并添加好api接口
这里,我们选中好,我们需要测试的集合
然后就是子集合
可以勾选需要自动化测试的api
然后,点击最下方的 Run test_project
这里就会出现运行结果
这里都断言不通过
这样,我们就轻松的完成了接口自动化测试,,去验证我们的请求结果
我们重试一下看看
get请求符合了200ms的响应时间
post的话,返回的状态码是201,其实也符合请求成功的情况,不过,我们是要判断是不是返回了200的状态码,如果项目需求就是需要返回200的状态码,那么,这个接口就是有bug
我们还可以尝试,循环运行10次看看
我们就可以看到一个综合结果
对于,我们需要筛选通过与不通过的请求
点击左侧这里,就可以方便的查看啦
Runner 参数化测试
对于循环测试api的话
我们的需求,需要每次请求的数据,不一样
那么,就可以用到数据参数化
我们先新建一个csv格式的文件
注意:默认文件的编码不是UTF-8,这个时候,如果包含中文,在导入数据的时候,postman只会获取成乱码,这个需要注意一下
我们用notepad++,来把文件编码改为utf-8,,如果你有其他文本编辑器,可以修改编码也是可以的
文件的首行,是列名
这里请使用英文变量名,后面,在请求参数中,才可以用{{}}来获取
我们在get请求中,在params中,使用这两个变量
在这里,我们可以看到,循环次数,自动帮我们修改为数据数
然后,这个会自动识别数据格式,如果自动识别的不准确,可以手动修改
然后,我们预览一下数据
注意看看有没有乱码情况,以及数据丢失的情况
然后,我们运行看看
通过 Fiddler 来查看请求有无带上参数
可以,已经自动帮我们填上我们提供的数据
这就是参数化测试
更新日志
提示:将会持续优化更新
20220712,安装,功能介绍,Get 和 Post 请求-get请求,post请求,界面介绍-Params,Authorization,Header,Body,Pre-request Script,Tests,TestResult,Cookies,环境变量和全局变量-环境变量,全局变量,Collections 集合-创建集合,添加请求,Runner 自动化测试,Runner 参数化测试
版权归原作者 smobee 所有, 如有侵权,请联系我们删除。