使用Postman工具做接口测试(一)安装基本功能介绍和简单使用

引言

  常用的接口测试工具主要有以下几种:

  1. Postman: 简单方便的接口调试工具,便于分享和协作。具有接口调试,接口集管理,环境配置,参数化,断言,批量执行,录制接口,Mock Server, 接口文档, 接口监控等功能;
  2. JMeter: 开源接口测试及压测工具,支持Linux及无界面运行;
  3. LR: 商业版接口性能测试工具,简单易用,功能强大;
  4. SoupUI: 开源,WebService接口常用测试工具,也可以测试Rest接口及接口安全。

postman安装

postman曾经是chrome上发送HTTP请求协议的插件,据说在2018年初postman停止对chrome中插件维护。不过postman也增加应用程序的下载地址,可以通过不同的系统版本进行下载安装

postman 可以直接在chrome 上安装插件,当然大部分的同学是没法连接到谷歌商店的,我们可以在电脑本地安装postman 客户端工具。
Postman 也可作为适用于Mac,Windows(32位/ 64位)和Linux(32位/ 64位)操作系统的本机桌面应用程序使用。

postman官方文档:https://learning.getpostman.com/

Postman官网下载地址 https://www.postman.com/downloads/

以windows 10系统安装为例,下载安装包Postman-win64-7.1.1-Setup.exe,双击安装

postman安装方法:傻瓜式安装(一直点击下一步)

postman工作原理

通过这个图可以很清楚的看出来postman如何工作,通过postman发送请求给服务器,服务器处理postman发送请求数据然后返回给postman。postman对返回内容进行加工处理,把格式化后的内容显示出来

点击最下方无需账号也可以进行使用

  postman界面功能介绍

1、工具栏

  1. New: 新建,可以新建Request请求,Collection请求集,环境等等
  2. Import: 导入,可以导入别人导出的请求集
  3. Runner: 运行一个请求集(批量执行)
  4. Invite: 邀请(需要注册,邀请进行协作)
  5. 同步图标: (需要注册,同步你的项目到云端)
  6. 抓包图标: 抓包/捕获请求,用于开启Postman代理, 手动设置代理(或手机代理)后可抓包/录制请求
  7. 设置图标: Postman设置功能
  8. 消息图标: 官方及协助消息
  9. 收藏图标: 我的收藏(需要注册)
  10. 云端图标: 用户云端数据(需要注册)

2、接口管理区

  1. History: 请求历史记录,可以查询到之前的请求记录
  2. Collections: 接口集,相当于一个接口项目或测试计划,接口集中可以建立无限极子文件夹,用于对接口进行分组管理

3、环境管理区

1、环境是一套配置,包含许多环境变量。在接口测试中,根据部署在不同的服务器上,服务器地址有可能不同,而同一个接口,接口地址是不变的。为了测试部署在不同服务器上的同一套接口,我们可以建立不同的环境,不同环境中host变量使用不同的地址
2、例如,接口完整地址 = 服务地址 + 接口地址,如:url=http://127.0.0.1:8090+/api/login
  1. 环境切换:用于切换环境
  2. 环境预览:用于快速预览环境中的所有变量
  3. 环境管理:用于添加修改环境及环境变量,以及全局变量

4、接口设计区

  接口设计区可以通过上方tab边上的+号,新建多个请求。接口设计区从上到下分为请求区和响应区
  ①请求区

  1. 请求地址行:可以选择请求方法(GET/POST/...),填写请求地址,发送请求和保存请求到测试集
  2. 请求数据区:分为授权,请求头,请求数据,请求发送前执行的脚本(用于准备数据),请求结束后执行的脚本(用于断言)

  ②响应区:

  1. 响应内容(body): 可以查看Pretty(美化格式),Raw(原始格式),Preview(HTML预览格式)
  2. 响应Cookie
  3. 响应头(headers)
  4. 测试结果(Test Results):对应请求中Tests中设置的断言

 

  ③工具栏:

  1. settings 设置
  2. postman 工具进行设置
  3. Notifications 通告
  4. 通告
  5. 关于我们按钮

  关于我们
  tweet about us

 5、Collection请求集(测试集):

请求集是Postman中接口管理的一个"整体"单位,运行、导出、分享等都是基于请求集的

  ①新建请求集: New按钮-->Collection 或 直接点击请求集列表上方的新建请求集按钮

  1. 授权: 请求集及其子文件夹下的接口统一使用该授权,不用每个接口再都单独设置一遍
  2. 请求前脚本: 请求集的每个接口公用的请求前脚本
  3. 请求后断言: 请求集每个接口公用的请求后脚本
  4. 请求集变量: 请求集中公用的一些变量

  ②新建子文件夹:子文件夹的属性中同样拥有描述,授权,请求前脚本,和请求后断言(没有变量,一个请求集的变量统一管理),实现了不同范围(Scope)的Fixture功能。

  ③测试集导出:测试集可以导出并发送给别人(不携带环境信息),别人通过导入来使用你的接口

  ④测试集分享: 测试集直接分享给别人(双方都需要注册)

  ⑤添加请求:通过测试集add request 添加请求,这个请求包含于这个测试集里。

 测试集的功能操作:

测试接口

接口名称:获取今日天气

详细说明: http://www.k780.com/api/weather.today

请求示例(json): http://api.k780.com:88/?app=weather.today&weaid=101020100&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json

请求参数说明:
app 是获取哪天的数据,weather.today是获取今天的,weather.future获取未来五天的
wedid 是城市气象编号,与中国天气网编号一致,如上海:101020100
key和sign是身份验证,注册一个可以换成自己的,上例中的10003是公众帐号,
format是返回格式,支持 json,xml,除了format不是必须的以外,其他参数都是必须提供的。

接口返回格式:

{
    "success": "1",
    "result": {
        "weaid": "36",
        "days": "2021-05-06",
        "week": "星期四",
        "cityno": "shanghai",
        "citynm": "上海",
        "cityid": "101020100",
        "temperature": "24℃/19℃",
        "temperature_curr": "22℃",
        "humidity": "31%",
        "aqi": "57",
        "weather": "小雨",
        "weather_curr": "多云",
        "weather_icon": "http://api.k780.com/upload/weather/d/1.gif",
        "weather_icon1": "",
        "wind": "东北风",
        "winp": "1级",
        "temp_high": "24",
        "temp_low": "19",
        "temp_curr": "22",
        "humi_high": "0",
        "humi_low": "0",
        "weatid": "2",
        "weatid1": "",
        "windid": "1",
        "winpid": "1",
        "weather_iconid": "1"
    }
}

Collection下添加 request 请求

点左上角 New - 添加 Collection ,Collection是收集器,可以理解成一个测试项目,这个项目下添加需测试的接口

添加收集器名称和描述

create 添加成功后,添加一个请求

添加需要测试的请求,保存到收集器里面

展开之后就可以看到添加的get请求了

测试天气预报接口

以测试天气接口为例:http://api.k780.com:88/?app=weather.today&weaid=101020100&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json

可以直接复制整个url地址到地址栏,会自动生成 QueryParams 键值对

点send按钮,就可以看到response内容了

Query Params

Query Params参数有2种编辑方式,可以在表格填写键值对

也可以点开Bulk Edit写多个键值对,中间用冒号隔开,多个参数换行

app:weather.today
weaid:101020100
appkey:10003
sign:b59bc3ef6191eb9f747dd4e83c99f2a4
format:json
# 作者-上海悠悠 QQ交流群:717225969
# blog地址 https://www.cnblogs.com/yoyoketang/

 
原文地址:https://www.cnblogs.com/chenxiaomeng/p/14845500.html