接口功能测试工具PostMan

主要特点

  • 简单易用的图形化用户界面
  • 支持保存接口请求的历史记录
  • 使用测试集合Collection可以更有效的管理组织接口
  • 支持团队之间同步接口数据
  • 做接口功能性的测试

在Windows系统下的安装

下载地址
在这里插入图片描述
等待一会,postman安装成功
在这里插入图片描述
出现如下界面,点击关闭按钮即可
在这里插入图片描述

界面介绍

在这里插入图片描述

入门示例

使用Postman访问百度 http://www.baidu.com,并查看响应结果

  1. 设置请求方式
  2. 输入接口地址
  3. 点击发送请求
  4. 查看响应结果

get请求

在这里插入图片描述

Postman的基本用法

应用场景

  1. 前后端分离,后端看不到页面
  2. 服务端测试,验证不同情况下接口的返回结果是否符合预期

实现分析

  1. 请求方式分析(get、post、put、delete)
  2. 请求路径分析(path)
  3. 传参方式分析(url数据、表单数据、json数据)

实现步骤

  1. 设置请求方式
  2. 输入请求路径
  3. 设置请求参数
  4. 设置请求数据
  5. 点击发送请求
  6. 查看响应数据

用例管理

Postman对多个测试用例的管理,让测试进行更有序,易于管理

实现步骤

  1. 新建Collections(集合)
    在这里插入图片描述

  2. 模块化管理
    在这里插入图片描述
    在这里插入图片描述

  3. 添加请求

向模块中添加请求

在这里插入图片描述
在这里插入图片描述

添加get请求测试

在这里插入图片描述
在这里插入图片描述

添加post请求

post提交json数据

需求:
1.请求项目的登录接口,请求数据
{
“mobile”: “13800000002”,
“password”: “123456”
}
接口地址:
http://182.92.81.159/api/sys/login

需求分析

  • 请求方式为post
  • 请求地址:http://182.92.81.159/api/sys/login
  • 请求数据:
    请求体【body==》raw】, {“mobile”: “13800000002”,“password”: “123456”}
    请求头【header】Content-Type=application/json

实现步骤

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

post请求方式上传文件

在这里插入图片描述

断言

让程序判断预期结果和实际结果是否一致
postman断言使用的是javascript语法

查看响应状态码是否是200

在这里插入图片描述

全局变量与环境变量

全局变量和环境变量有相同的变量,如果请求中有全局变量和环境变量都有,环境变量优先级高

全局变量

全局变量是全局唯一的,不可重复定义的变量

设置全局变量

代码设置:

pm.globals.set("variable_key", "variable_value");

获取全局变量

var gloabl_var=pm.globals.get("variable_key");

请求参数中获取

{{参数名}}

在这里插入图片描述

环境变量

  • 一个变量只能属于某个环境,在某个环境中变量不可重复定义
  • 在环境与环境之间可以定义重复的变量
  • 一个环境可以包含多个环境变量
  • 常见环境分类:开发环境、测试环境、生产环境

设置环境变量

pm.environment.set("variable_key", "variable_value");

获取环境变量

var env_var=pm.environment.get("variable_key");

请求参数中获取

{{参数名}}

全局变量进行接口关联

需求

请求获取天气接口:
http://www.weather.com.cn/data/sk/101010100.html
获取天气接口返回结果中的城市名称
请求百度搜索接口
http://www.baidu.com/s?wd={{城市名称}}
城市名称即为天气接口获取并保存到全局变量中的数据

实现步骤

  1. 请求获取天气接口,设置全局变量
//获取返回数据
var jsonData=pm.response.json();
//获取返回数据中的city值
var city=jsonData.weatherinfo.city;

//设置全局变量
pm.globals.set("city", city);

在这里插入图片描述
2. 查看全局变量
在这里插入图片描述在这里插入图片描述
3. 百度搜索接口调用全局变量
在这里插入图片描述

局部变量

添加局部变量

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

查看局部变量

在这里插入图片描述
在这里插入图片描述

手动修改局部变量值

在这里插入图片描述

代码中动态设置局部变量的值

//获取返回数据
var jsonData=pm.response.json();
//获取返回数据中的city值
var city=jsonData.weatherinfo.city;
//设置局部变量
pm.environment.set("env_city", city);

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

关联

应用场景

当请求之间有依赖关系,比如一个请求的入参是另一个请求返回的数据
这时候就需要用到关联处理

实现方式

  • 要获取某个请求的响应结果数据,可以通过在Test标签页中编写JavaScript脚本来实现
    在这里插入图片描述
  • 多个请求之间可以使用全局变量或环境变量来传递参数
  • 获取某个全局变量/环境变量的值:{{var_name}}

批量执行测试用例

  1. 点击测试集合中的Run按钮,批量运行测试用例
  2. 弹出Collection Runner窗口,点击运行按钮
  3. 窗口测试结果
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

参数化

1. 定义数据文件

常用的数据文件格式有:CSV、JSON

2. 选择数据文件

在测试集运行Collection Runner窗口中,点击Select File按钮选择定义好的数据文件

3. 读取数据文件中的参数

1、方法一:请求参数可以通过{{var_name}}来引用
2、断言中的数据,由于是在Tests中编写脚本,并不能直接通过{{var_name}}来引用,可以通过内置
变量data来获取

//获取数据文件中的用户名参数
var username=data.username

通过内置变量data来获取

批量查询手机号归属地和所属运营商信息,并校验运营商数据是否正确
接口地址:
https://cx.shouji.360.cn/phonearea.php?number=13012345678

实现步骤

  1. 创建导入文件,文件格式为.csv
    在这里插入图片描述

  2. 使用Notepadd++打开文件,修改文件编码方式为UTF-8编码,然后重新保存文件(解决数据乱码的问题)
    在这里插入图片描述

  3. 请求设计
    在这里插入图片描述

  4. 断言,判断返回的结果与预期结果

//获取数据文件中的用户名参数
console.log("运营商名称="+data.sp);
//断言
pm.test("校验运营商数据", function () {
    var jsonData=pm.response.json();
    //expect(实际结果).to.eql(预期结果)
    pm.expect(jsonData.data.sp).to.eql(data.sp);
});

在这里插入图片描述

  1. 运行测试计划
    在这里插入图片描述
    在这里插入图片描述
  2. 运行结果
    在这里插入图片描述

测试报告-NewMan

1. NewMan环境准备:node.js

Node.js的安装
传送门

2. 安装NewMan

npm install -g newman

在这里插入图片描述
查看newman是否安装成功,输入newman -v
在这里插入图片描述
安装 newman-reporter-html
cmd输入

 npm install newman-reporter-html   

安装html
在这里插入图片描述

3. 导出测试集合数据

导出测试脚本

在这里插入图片描述
在这里插入图片描述

导出环境变量

在这里插入图片描述
在这里插入图片描述

导出全局变量

在这里插入图片描述
在这里插入图片描述

4. 执行测试

切换到脚本所在目录
在这里插入图片描述
文件夹下文件:
在这里插入图片描述
执行命令
newman run 脚本 -g 全局变量 -r html

newman run test.postman_collection.json -g  MyWorkspace.postman_globals.json -r html

5. 查看测试报告

在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值