postman下测试Http接口

2021-04-23 01:30

阅读:780

标签:断言   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】添加接口请求信息:

  1. 选择一个请求方法,如:get或post
  2. 填写请求的url,如:http://www.baidu.com
  3. 如果是get请求类型,则请求参数直接写在url后,用?连接
  4. 如果是post请求类型,则请求参数添加在body中,参数格式可以参考抓包获取到的content-Type值进行选择
  5. 点击“send”发送请求
  6. 查看请求响应内容

如图:

技术图片

四、接口测试实例

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


评论


亲,登录后才可以留言!