引言
常用的接口测试工具主要有以下几种:
- Postman: 简单方便的接口调试工具,便于分享和协作。具有接口调试,接口集管理,环境配置,参数化,断言,批量执行,录制接口,Mock Server, 接口文档, 接口监控等功能;
- JMeter: 开源接口测试及压测工具,支持Linux及无界面运行;
- LR: 商业版接口性能测试工具,简单易用,功能强大;
- 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/:
- Postman for MAC https://dl.pstmn.io/download/latest/osx
- Postman for windows 64 https://dl.pstmn.io/download/latest/win64
- Postman for windows X86 https://dl.pstmn.io/download/latest/win32
- Postman for linux https://dl.pstmn.io/download/latest/linux64
以windows 10系统安装为例,下载安装包Postman-win64-7.1.1-Setup.exe,双击安装
postman安装方法:傻瓜式安装(一直点击下一步)
postman工作原理
通过这个图可以很清楚的看出来postman如何工作,通过postman发送请求给服务器,服务器处理postman发送请求数据然后返回给postman。postman对返回内容进行加工处理,把格式化后的内容显示出来
点击最下方无需账号也可以进行使用
postman界面功能介绍
1、工具栏
- New: 新建,可以新建Request请求,Collection请求集,环境等等
- Import: 导入,可以导入别人导出的请求集
- Runner: 运行一个请求集(批量执行)
- Invite: 邀请(需要注册,邀请进行协作)
- 同步图标: (需要注册,同步你的项目到云端)
- 抓包图标: 抓包/捕获请求,用于开启Postman代理, 手动设置代理(或手机代理)后可抓包/录制请求
- 设置图标: Postman设置功能
- 消息图标: 官方及协助消息
- 收藏图标: 我的收藏(需要注册)
- 云端图标: 用户云端数据(需要注册)
2、接口管理区
- History: 请求历史记录,可以查询到之前的请求记录
- Collections: 接口集,相当于一个接口项目或测试计划,接口集中可以建立无限极子文件夹,用于对接口进行分组管理
3、环境管理区
1、环境是一套配置,包含许多环境变量。在接口测试中,根据部署在不同的服务器上,服务器地址有可能不同,而同一个接口,接口地址是不变的。为了测试部署在不同服务器上的同一套接口,我们可以建立不同的环境,不同环境中host变量使用不同的地址 2、例如,接口完整地址 = 服务地址 + 接口地址,如:url=http://127.0.0.1:8090+/api/login
- 环境切换:用于切换环境
- 环境预览:用于快速预览环境中的所有变量
- 环境管理:用于添加修改环境及环境变量,以及全局变量
4、接口设计区
接口设计区可以通过上方tab边上的+号,新建多个请求。接口设计区从上到下分为请求区和响应区
①请求区
- 请求地址行:可以选择请求方法(GET/POST/...),填写请求地址,发送请求和保存请求到测试集
- 请求数据区:分为授权,请求头,请求数据,请求发送前执行的脚本(用于准备数据),请求结束后执行的脚本(用于断言)
②响应区:
- 响应内容(body): 可以查看Pretty(美化格式),Raw(原始格式),Preview(HTML预览格式)
- 响应Cookie
- 响应头(headers)
- 测试结果(Test Results):对应请求中Tests中设置的断言
③工具栏:
- settings 设置
- postman 工具进行设置
- Notifications 通告
- 通告
- 关于我们按钮
tweet about us
5、Collection请求集(测试集):
请求集是Postman中接口管理的一个"整体"单位,运行、导出、分享等都是基于请求集的
①新建请求集: New按钮-->Collection 或 直接点击请求集列表上方的新建请求集按钮
- 授权: 请求集及其子文件夹下的接口统一使用该授权,不用每个接口再都单独设置一遍
- 请求前脚本: 请求集的每个接口公用的请求前脚本
- 请求后断言: 请求集每个接口公用的请求后脚本
- 请求集变量: 请求集中公用的一些变量
②新建子文件夹:子文件夹的属性中同样拥有描述,授权,请求前脚本,和请求后断言(没有变量,一个请求集的变量统一管理),实现了不同范围(Scope)的Fixture功能。
③测试集导出:测试集可以导出并发送给别人(不携带环境信息),别人通过导入来使用你的接口
④测试集分享: 测试集直接分享给别人(双方都需要注册)
⑤添加请求:通过测试集add request 添加请求,这个请求包含于这个测试集里。
测试集的功能操作:
测试接口
接口名称:获取今日天气
详细说明: http://www.k780.com/api/weather.today
请求参数说明:
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请求了
测试天气预报接口
可以直接复制整个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/