0


Postman界面功能详情、常见鉴权处理方式、接口关联

1.接口及其类型

API,应用编程接口,简称接口。

通过接口,可以使程序和程序之间,能够相互交互

接口的类型有很多:

  • SOAP
  • REST
  • GapghQL
  • Websocket
  • TCP
  • RPC
  • 其他

分为两大类:

  • 基于TCP全双工
  • 基于HTTP半双工

了解接口的类型,有助于我们选择测试方案和工具:

  • 基于TCP的,不适用与postman
  • 基于HTTP的,适用于postman

2.接口测试的流程

1.前提
1.理解需求
2.了解接口

退而求次:体验产品,抓包分析

2.选择工具

  • Postman
  • Download Postman | Get Started for Free 下载安装

3.设计用例
1.基本正向用例
2.带可选参数的额外扩展正向用例
3.反向用例
4.破坏性的测试

** 4.执行用例**

  • 稍后详细展开

5.持续测试

  • postman+newman+jenkins+git
  • 持续测试、生成报告

3.Postman执行接口测试

Postman是一款功能强大的网页调试与发送HTTP请求的Chrome插件,专为接口而生。

3.1 界面功能

3.2 请求

1. 请求方式

2. 接口地址

3.查询字符串

  • GET参数,会成为URL中的一部分

4. 鉴权方式

  • 继承上级
  • 不需要鉴权
  • API KEY:在请求头添加指定的内容

  • Bearer Token:有明确约定的使用方式
  • 其他...

5. 请求头

  • KV结构(key-value结构),不能重复,可以批量编辑,通过冒号来分隔key和value

补充:使用Postman执行接口测试页签和传参说明:

Postman请求主要页签说明:

在这里插入图片描述

  • Params:get请求传参
  • Headers:请求头
  • Body:post请求传参 1.none没有参数 2.form-data:传文件和键值对 3.x-www.. 传键值对 4.raw:传text,json,xml 5.binary:传文件的二进制。
  • Pre-request Script:请求之前的脚本
  • Tests:请求之后的断言脚本,用于判断请求是否成功!

6.请求正文

  1. 表单(表单会经过编码)
  • KV结构+文件上传
  • KV结构

  1. 原始内容(不会进行编码)
  • json传递数据

  • XML传递数

json 的数据格式

基本特点:数据结构简单,适合程序解析

基本数据类型:数字、字符串、布尔值、空值null

容器数据类型:数组、对象

特殊的规范:

    1.字符串一定使用双引号

    2.容器的最后一项,不加逗号。
  1. 二进制内容

4.GraphQL

  • github 3.0 Restful
  • github 4.0 GapghQL

  1. Postman响应主要页签说明:

在这里插入图片描述

  • Body:响应的数据(Pretty:json格式,Raw:文本格式,Preview:网页格式)
  • Cookies:缓存
  • Headers:响应头
  • Test Results:断言的结果

7. 请求预处理

  • 请求发送前置,执行js,改变请求。

8. 测试用例

  • 响应收到后执行,执行js,来断言响应。

9. 设置

  • 改变传输细节

10. cookie

  • 自动更新、自动发送
  • 可以禁用

3.3 响应

  1. 响应数据
  • 查看方式:美化、原始、浏览器预览、自定义可视化
  1. cookie

  2. 响应头

  3. 测试结果

  4. 状态码 、耗时、文档大小( Postman返回码和返回状态信息说明)

在这里插入图片描述

  • Status:200返回码
  • OK:返回信息
  • Time:170ms 毫秒
  • Size:343B 字节

3.4 Postman环境变量和全局变量

1.在右上角的眼睛图标中可以设置环境变量和全局变量

2.在请求时:通过{{}}去调用全局变量

3.在运行时:选择不同的环境

  1. 生成不同的代码

  1. 控制台

3.5 使用集合来管理请求

1.创建集合
2.创建文件夹
3.创建请求

3.6 场景应用

接口关联上一个接口的返回值如何作为下一个接口的参数

1.上一个接口的tests中取值:

//JSON.parse把返回的值转化成一个vjson格式的数据,保存到value这个变量中
var value = JSON.parse(responseBody)
//把取得的token值保存到全局变量的access_token变量中。
pm.globals.set(“access_token”, value.access_token);

2.下一个接口通过{{access_token}}取值

3.7 Postman断言

在这里插入图片描述

断言:判断接口有没有成功,常用的断言如下:

1.断言返回码为200

pm.test(“Status code is 200”, function () {
        pm.response.to.have.status(200);
});

2.断言返回的结果中中包括access_token字符串。

pm.test(“Body matches string”, function () {
    pm.expect(pm.response.text()).to.include("access_token");
});

3.断言返回的json数据中的值:断言expires_in的值为7200

pm.test(“Your test name”, function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.expires_in).to.eql(7200);
});

4.断言响应的内容等于一个字符串

pm.test(“Body is correct”, function () {
    pm.response.to.have.body("response_body_string");
});

5.检查响应头中是否有Content-Type字段

pm.test(“Content-Type is present”, function () {
    pm.response.to.have.header("Content-Type");
});

6.断言响应的时间少于200MS

pm.test(“Response time is less than 200ms”, function () {
    pm.expect(pm.response.responseTime).to.be.below(300);
});

该文章部分知识点参考程序员小野

标签: 测试工具 postman

本文转载自: https://blog.csdn.net/weixin_45990326/article/details/125742706
版权归原作者 蜗牛_Chenpangzi 所有, 如有侵权,请联系我们删除。

“Postman界面功能详情、常见鉴权处理方式、接口关联”的评论:

还没有评论