区块链安全-----接口测试-Postman

Postman是一款支持http协议的接口调试与测试工具,其主要特点就是功能强大,使用简单且易 用性好 。无论是开发人员进行接口调试,还是测试人员做接口测试,Postman都是我们的首选工具 之一 。 更早的接入测试,更早的发现问题。修改问题的代价更小。保证安全性,更容易实现自动化。 接口测试更多的检测外部系统和系统间,以及内部各个子系统间的交互点。 测试重点:接口参数传递的正确定,接口功能实现的正确性,输出结果的正确性,对各种异常 情况的容错处理的完整性和合理性。

API:application programming interface。是服务器端预先定义好的方法,是交互的桥梁。

目录

一.postman下载和安装

1.Postman工具特点

二.postman下载

1.创建第一个例子

2.Collection集合

3.发送简单的GET请求

携带参数的GET请求

4.JSON

5.发送POST请求

6.添加文件格式请求参数

三.查看接口响应

四.Postman添加断言

五.变量

1.新建环境变量

2.切换环境变量

3.定义集合变量

六.动态参数

一.postman下载和安装

1.Postman工具特点

  • 图形用户界面简单易用:Postman提供了直观且易于操作的图形用户界面,使得无论是测试人员 还是开发人员都能快速上手,进行API的调试和测试。
  • 功能强大且全面:Postman支持创建和发送各种HTTP请求,包括GET、POST、PUT、DELETE等,能 够全面测试API的响应。此外,它还提供了构建请求参数、管理环境变量、自动化测试集合、共 享和协作以及监视API性能等功能,满足用户在不同场景下的需求。
  • 有效管理组织接口:使用测试集Collections,用户可以更有效地管理组织接口,提高测试效率。
  • 团队协作与同步:Postman允许在团队之间同步接口数据,使得团队成员可以共享他们的API请求 和测试集合,实现高效的协作。
  • 自动化测试与集成:Postman支持通过编写测试脚本来自动化API测试,并对测试结果进行断言和 验证。此外,它还能与CI/CD工具集成,实现自动化API测试和集成测试。
  • 接口文档自动生成:Postman能够根据API请求和响应自动生成接口文档,方便开发人员和其他团 队成员查看API的使用方法和参数。

二.postman下载

    1. 访问Postman官方网站,下载最新版本,访问地址:https://www.getPostman.com/
    1. 根据操作系统(Windows、Mac或Linux)选择相应的版本进行下载。
    1. 点击下载按钮,等待下载完成。
  • . 双击下载的安装包,进入到安装界面,直到用户登录和注册界面。
  • 若个人使用,可选择跳过(但建议登录这样可以对测试用例进行更好的管理)

进入到Postman主界面,Postman安装成功

注册后使用账号

1.创建第一个例子

2.Collection集合

对一个或多个系统中有很多测试用例进行维护时,应对用例进行分类管理, 并且可以用这批测试进行回归测试。Postman提供了Collection集合功能。 使用场景:

  • 1.用例分类管理,方便后期维护
  • 2.可以进行批量用例回归测试 。

点击Collection,点击+New Collection,在弹出的输入框中输入 Collection名称(所测试的系统)。 选中新建的Collection右键,点击Add Folder,在弹出对话框中输入文件夹名称 (系统中的模块)。选中新建的文件夹, 点击Add Request ,在弹出的对话框中输 入请求名称,这个就是我们所测试的接口, 也可以理解为测试用例

批量执行接口请求: 1. 右击run collection 2. 会出现runner标签页

3.发送简单的GET请求

携带参数的GET请求

所谓的查询参数,其实就是URL地址中问号(?)后面的部分就叫查询参数, http://cx.shouji.360.cn/phonearea.php?number=13012345678 。查询参是:number=13012345678 。 而这一部分是由有键值对组成,格式为:key1=value1&key2=value2, 如果有多组键值对,要用&隔开 。

常见的请求方式:

  1. GET 获取资源 2. POST 新建/更新资源 3. PUT 更新资源 4. DELETE 删除资源 5. HEAD 获取头部信息

4.JSON

轻量级的理想的数据交换格式,大部分的接口应用使用了json格式数据,可以使用 https://www.bejson.com/ 进行格式校验

在线测试JSON书写矫正工具:在线JSON校验格式化工具(Be JSON)

结构: 对象:{key:value} 数组:[data1,data2] 示例:第一个例子

5.发送POST请求

添加FORM格式请求参数

  1. body-raw-json

    https://www.bejson.com/

    {
    "phone": "13861242661" ,
    "email": "13861242661@qq.com" ,
    "nick": "abc" ,
    "password": "12345" ,
    "password2": 12345
    }

    1. 点击SEND
    1. 查看响应内容

用POST登陆账户

用GET查看用户信息:

查看token值是否一样

6.添加文件格式请求参数

在做接口测试时,我们经常会遇到需要上传文件的接口,比如微信的更新头像。这就需要用到: multipart/form-data。它也属于一种表单,但它既支持表单请求,也支持文件上传。

  1. 添加文件格式请求参数 2. 选择body-form data 3. key中输入file 4. 导入文件 5. 点击send

在做接口测试时,我们经常会遇到需要上传文件的接口,比如微信的更新头像。这就需要用到: multipart/form-data。它也属于一种表单,但它既支持表单请求,也支持文件上传。

修改用户密码:

具体postman用法可以查看网页星瀚接口文档 (nnzhp.cn)查看相关解释

GET请求方式和POST请求方式的区别:

(1)GET请求没有请求体,只要请求头和URL:host/api/xxx?name=xxx

(2)POST请求是有请求头、请求体

(3)GET请求没有POST请求安全

(4)GET请求有参数长度限制,POST没有

(5)本质区别是传参方式不一样:

get: 地址栏 ?的方式传参,多个参数用&相连

post:body里面以表单的方式传参

三.查看接口响应

响应数据是发送请求后经过服务器处理后返回的结果,响应由三部分组成,分别是状态行、响 应头、响应体。我们来看下Postman的响应数据展示。

响应数据是发送请求后经过服务器处理后返回的结果,响应由三部分组成,分别是状态行、响 应头、响应体。我们来看下Postman的响应数据展示。

四.Postman添加断言

如果没有断言,只能做单一的接口的功能测试,有了断言后,就为我们做自 动化提供了条件。 Postman断言:

  • 断言编写位置:Tests标签
  • 断言所用语言:JavaScript
  • 断言执行顺序:在响应体数据返回后执行 。
  • 断言执行结果查看:Test Results
  1. js书写断言
  2. Postman已经给我们内置了一些常用的断言 。 只需从右侧点击断言,就会在文本框中自动生成对应断言代码块 。

五.变量

变量可以使我们在请求或脚本中存储和重复使用其值,通过将值保存在变量 中,可以在集合,环境或请求中引用。 在Postman常用的三种变量分别是全局变量,环境变量,集合变量 。

  • 全局变量:它的作用域是最大的,全局有效。Postman中的任何集合、任 何请求中都可以使用这个变量。
  • 环境变量:首先的创建环境,在该环境中才能创建变量。要使用环境变量, 必须先选择(导入)这个环境,就可以使用这个环境下的变量。环境可以创 建多个,每个环境下可以有多个变量。
  • 集合变量:集合变量是针对集合的,申明的变量必须基于某个集合,使用 范围集合有效。

在右上角可以快速查看变量值情况 在右侧快捷方式中可在脚本中设置变量值

1.新建环境变量

2.切换环境变量

3.定义集合变量

选择一个集合,打开查看更多动作(...)菜单,然后点击编辑 。选择"变量"选项卡以编 辑或添加到集合变量。

方法二:在Pre-request Script处编辑脚本

在Tests,Pre-requests Script:

定义变量:

  • 定义全局变量:pm.CollectionVariables.set("变量名",变量值)
  • 定义环境变量:pm.environment.set("变量名",变量值)
  • 定义集合变量:pm.variables.set("变量名",变量值)

使用变量:

  • 如果在请求参数中获取变量,无论是获取全局变量,还是环境变量,还是集合变量,获取的方 式都是一样的编写规则:{{变量名}} 。
  • 请求参数指的是:URL,Params , Authorization , Headers , Body

如果是在编写代码的位置(Tests,Pre-requests Script)获取变量,获取不同类型的变量,编写 的代码都不相同,具体如下:

  • 获取环境变量:pm.environment.get('变量名')
  • 获取全局变量:pm.globals.get('变量名')
  • 获取集合变量:pm.pm.CollectionVariables.get.get('变量名')

前置脚本其实就是在Pre-requests Script中编写的JavaScript脚本。 一个请求在发送之前,会先去执行Pre Request Script(前置脚本)中的代 码 。 主要场景:

  • 1.在发送请求前需要对接口的数据做进一步处理,就都可以使用这个功能, 比如说,登录接口的密码,在发送前需要做加密处理,那么就可以在前置脚本 中做加密处理。
  • 2.有的接口输入参数有一些随机数,每请求一次接口参数值都会发送变化, 就可以在前置脚本中编写生成随机数的代码 。

在请求接口之前对请求数据进行加工处理都可以使用前置脚本功能。

六.动态参数

方法二:在Pre-request Script处编辑脚本

javascript 复制代码
function GetRandomNum(Min,Max){
    var Range = Max-Min;
    var Rand = Math.random()
    return (Min+Math.round(Rand*Range));
}

var tel = GetRandomNum(10000000000,19999999999);
pm.environment.set("tel", tel);
console.log(tel)

查看生成学生信息

由于截图找不到了,实际上控制板返回的值要和查询的值是保持一致的

七.接口关联

  • 1.提取上一个接口的返回值数据
  • 2.将这个数据值保存到环境变量或全局变量中
  • 3.在下一个接口获取环境变量或全局变量
相关推荐
程序员三藏13 小时前
快速弄懂POM设计模式
自动化测试·软件测试·python·selenium·测试工具·设计模式·职场和发展
程序员三藏18 小时前
使用Docker和Selenium构建自动化测试环境
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
让世界再也没有bug21 小时前
JMeter与Postman的区别
测试工具·jmeter·postman
优测云服务平台1 天前
质效飞跃,优测金融数智质效解决方案全新升级!
测试工具·金融
minglie12 天前
Wireshark抓HTTPS协议包
网络·测试工具·wireshark
BatyTao2 天前
Postman导入CSV中文乱码解决方法
postman
测试19982 天前
压力测试详解
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·压力测试
程序员小远3 天前
7个常见的Jmeter压测问题
自动化测试·软件测试·python·测试工具·测试用例·压力测试·性能测试