postman下测试Http接口
2021-04-23 01:30
标签:断言 XML 内容 ons 批量 完整 响应 参数变量 修改
一、常见接口及工具
1、webService接口:走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用,测试。可以使用的工具有SoapUI、jmeter、loadrunner等;
2、http api接口:走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串,有get和post等方法,这也是最常用的两种请求方式。可以使用的工具有postman、RESTClient、jmeter、loadrunner等;
这里我们主要介绍postman工具下http接口的测试
二、postman简介:
主界面显示:
Postman主要模块功能介绍如下:
1、工具栏:
- New: 新建,可以新建Request请求,Collection请求集,环境等,还可以创建更高级的文档、Mock Server 和 Monitor以及API。
- Import: 导入,这用于导入集合或环境,可以导入别人导出的请求集,有一些选项,例如从文件,文件夹导入,链接或粘贴原始文本
- 同步图标: 同步项目到云端
- Invite: 邀请团队成员进行协作接口测试
- 抓包图标: 抓包/捕获请求,用于开启Postman代理, 手动设置代理(或手机代理)后可抓包/录制请求
- 设置图标: Postman设置功能
- 消息图标: 官方及协助消息
2、接口管理区
- My Workspace :工作空间,用于团队协作创建的工作区
- Collections:接口集,相当于一个接口项目或测试计划,接口集中可以建立无限极子文件夹,用于对接口进行分组管理
- History: 请求历史记录,可以查询到之前的请求记录
3、环境管理区
- 环境切换:用于切换环境
- 环境预览:用于快速预览环境中的所有变量
- 环境管理:用于添加修改环境及环境变量,以及全局变量
在接口测试中,根据部署在不同的服务器上,服务器地址有可能不同,如测试环境与开发环境和线上环境,三者是部署在不同的服务器上的,但同一个接口,接口地址是不变的。所以为了测试部署在不同服务器上的同一套接口,我们就可以建立不同的环境,不同环境中host变量使用不同的地址
接口完整地址 = 服务器地址 + 接口地址,如url=http://127.0.0.1:8080+/api/login
环境变量配置:
4、接口设计区
接口设计区从上到下分为请求区和响应区
①请求区
- 请求地址行:可以选择请求方法(GET/POST/...),填写请求地址,发送请求和保存请求到测试集
- 请求数据区:分为授权,请求头,请求数据,请求发送前执行的脚本(用于准备数据),请求结束后执行的脚本(用于断言)
②响应区:
- 响应内容(body): 可以查看Pretty(美化格式),Raw(原始格式),Preview(HTML预览格式)
- 响应Cookie
- 响应头(headers)
- 测试结果(Test Results):对应请求中Tests中设置的断言
三、如何使用postman进行http接口测试
【1】进入Postman主页面新建一个工作空间,workspace->New workspace->输入workspace名称并确定,workspace的主要作用是团队协作,加入到团队的成员都可以看到worksapce里面的接口
【2】在新建的workspace下创建项目接口集:选择左侧标签面板的collections->点击New->选择Collection->输入名称并确定,
【3】创建项目模块文件夹:一般项目会分多个管理模块或者功能模块进行开发。这里可根据项目具体情况创建子文件夹方便接口管理。此处在上面新建的项目集合下,点击后面的...按钮,在弹出的选项框中点击Add folder创建对应模块文件夹。可将需要测试的各模块的接口实例保存在对应模块下,同样也可以修改每个文件夹名称
【4】创建需要测试的接口:选择对应模块文件夹,点击后面的...按钮,在弹出的选项框中点击Add request创建接口,可以修改接口名称
【5】添加接口请求信息:
- 选择一个请求方法,如:get或post
- 填写请求的url,如:http://www.baidu.com
- 如果是get请求类型,则请求参数直接写在url后,用?连接
- 如果是post请求类型,则请求参数添加在body中,参数格式可以参考抓包获取到的content-Type值进行选择
- 点击“send”发送请求
- 查看请求响应内容
如图:
四、接口测试实例
1、get请求:
以一个系统的查询信息接口为例,通过fiddler我们抓取到接口信息如下:
新建一个请求,选择get请求方式,复制抓包到的请求的url,由于该请求为get请求,参数直接附在url后面,所以直接点击send发送请求,在响应区即可看到返回结果。如下所示
2、post请求:
以一个网站的登录接口为例,通过Fiddler我们可以抓取到这个接口的相关信息,如接口请求类型为post,接口地址为:/user/login 还有接口请求参数内容,请求头等信息
Fiddler抓包信息如下图所示:
然后我们可以把接口地址完整的复制到postmen里面,接口类型选择post,因为post请求的参数不是在url里面,而是在请求体里面,所以我们切换到Body里面,从抓包的内容中我们可以看到请求参数是以json格式发送的,
所以Body里面选择raw,格式选择json,然后将请求参数内容复制进去,点击send按钮,就可以看到接口测试结果,如下图所示:
3、批量运行请求:
postman还支持批量执行测试集
使用实例:
①新建一个Collection,在Collection下新建请求(add requests)如登录,首先我们用Fiddler抓包登录接口(没有接口文档的情况下),抓取的信息如下
②选择POST方法,填入URL,请求数据,URL的host使用配置的环境变量,请求数据(用户名、密码)使用变量做参数化,本地新建参数化文件备用,本地参数化文件可以是csv、txt、或json格式,参数化一般是使用{{变量名称}}替换实际的值
③编写Pre-request Script(接口执行前运行的脚本),此处只需要编写参数变量取值即可,如果参数化文件里面只有当前接口的参数变量,则不需要编写这个参数变量取值脚本,如果参数化文件里面还有其他接口的参数变量,则需要编写对应的变量取值脚本,使得该接口能取到参数化文件中对应的变量值,如下Pre-request Script中的代码,参数化文件里面的内容都保存在data对象里面,所以取值都是通过data来取值
④设置断言:
⑤以上设置都完成后,鼠标选择Collection,点击run按钮启动Runner,选择需要批量运行的 接口,迭代次数、参数化文件、参数化文件格式(根据参数化文件实际格式选择)、预览参数结果后点击运行即可
运行后结果如下:
postman下测试Http接口
标签:断言 XML 内容 ons 批量 完整 响应 参数变量 修改
原文地址:https://www.cnblogs.com/xnancy/p/14686136.html
下一篇:JQuery的data-方法使用