postman实现接口自动化

目录

下载

Windows installation

文件导入

collection

用例编写

环境变量


下载

    Postman | Apps

Windows installation

Download the setup file

Run the installer

 


谷歌自带chrome插件,不过已经不再做支持,故推荐用chrome app,本文仅对APP使用讲解

后续补充插件使用方法

1. 安装postman 

2. 登录Postman(如果没注册,则先注册)

3. 打开postman, 简单介绍下布局

postman实现接口自动化_第1张图片

整体布局

 

文件导入

1.     以文件方式导入 

2.    以文件夹方式导入

3.    以文本方式导入

postman实现接口自动化_第2张图片

 

collection

1. collection 相当于测试套,将每个cases都置于文件夹下,每个case对应一个http请求

2.  运行时可以以collection 为单位

3. 可以监控,间断执行

。。。。

其他功能 可参考postman 官方文档

postman实现接口自动化_第3张图片

用例管理

2. 在web上查看用例内容

点击 “view in web”

postman实现接口自动化_第4张图片

app端点击查看

web端展示更加直观,但是不可执行,仅显示用例的详细内容,同时支持分享和发布

postman实现接口自动化_第5张图片

页面内容

 

 

 

postman实现接口自动化_第6张图片

点击 Publish

 

postman实现接口自动化_第7张图片

选择环境变量

 

postman实现接口自动化_第8张图片

发布完成

用例执行

1. 点击左上角 Runner

postman实现接口自动化_第9张图片

方法一

或者直接从collection 方式打开

 

postman实现接口自动化_第10张图片

方法二

按下图所示进行选择

postman实现接口自动化_第11张图片

选择运行条件

运行结果

postman实现接口自动化_第12张图片

结果分析

1. 查看请求与响应,从而判断是否执行正确

postman实现接口自动化_第13张图片

 

用例编写

url: 访问地址

Authorization:  鉴权

Headers:   http请求头

Pre-request-Script:  预置条件,一般由js编写

Tests:  运行结果测试判断,校验结果是否正确,如是否返回200,是否结果包含某个字段等

辅助工具: (以下仅对fidller做讲解分析)

1.    fidller 抓包分析

2.    也可以通过浏览器F12来辅助测试

3    chrome插件,可以记录每次访问的请求,效果更显著

postman实现接口自动化_第14张图片

捕获浏览器发送的各种请求,然后撰写用例

postman实现接口自动化_第15张图片

url获取:

postman实现接口自动化_第16张图片

fiddler抓包分析

 

postman实现接口自动化_第17张图片

Url获取

Headers获取

 

postman实现接口自动化_第18张图片

fiddler抓包分析

 

postman实现接口自动化_第19张图片


请求头部

请求参数:

对于请求参数中的区别,可以参考

postman中 form-data、x-www-form-urlencoded、raw、binary的区别 - CSDN博客

fiddler参数

 

postman实现接口自动化_第20张图片


请求参数

请求返回结果

 

postman实现接口自动化_第21张图片

fiddler响应

 

 

postman实现接口自动化_第22张图片

postman 请求响应

 

 

以上仅对单个请求进行了模拟,如果要串联很多请求组合模拟功能实现则需要用到环境变量,以达到承上启下的效果。

比如下一个请求需要引用到上一个请求返回的结果中某个参数,则可以通过变量提取将该字段置于变量池中。那么之后的请求可以对其直接引用或者更新其值。

环境变量

局部变量: 仅在当前collection中适用

globals变量: 对所有collection都适用

变量可以直接定义,亦可以在用例执行时生成

 

postman实现接口自动化_第23张图片

局部变量

 

postman实现接口自动化_第24张图片

全局变量

 

变量管理:

自定义

 

postman实现接口自动化_第25张图片

直接对变量池中变量进行赋值

用例执行过程中生成

 

postman实现接口自动化_第26张图片

在test中获取

 

代码编写

      由于postman有自己的语法,所以进行脚本开发时需要按照postman自身的语法格式来编写

postman老版本和新版本语法有些许不同,具体可参考官方手册了解。

脚本用的最多的是在 pre-request-script 和 test

各自都有语法提示,直接进行引用就可以达到预期

postman实现接口自动化_第27张图片

常用的脚本:

1. 设置变量:

pm.environment.set("branchId", jsonData.branchId);  新版本

postman.setEnvironmentVariable("user", u_id);    老版本

2. 判断返回200 

tests["Status code is 200"] = responseCode.code === 200;      老版本

pm.test("Status code is 200", function () { pm.response.to.have.status(200);});     新版本

3. 从返回中提取变量

 

postman实现接口自动化_第28张图片

4. 在预置条件中,可以用js编写 方法,但是该方法仅对本次请求生效

postman实现接口自动化_第29张图片

5. 打印日志 console.log("applyJson:", result);

可通过console台查看效果

postman实现接口自动化_第30张图片

6. 中断:在用例联调中最常用并且重要的语句,可让collection在运行时在指定位置退出

postman.setNextRequest(null);

7. postman语法中需要以 “分号“结尾。

随机数

PostMan 除了提供环境变量和全局变量外,还提供了三种随机数。

{{$guid}}

:添加一个V4风格GUID

{{$timestamp}}

:将当前的时间戳,精确到秒

{{$randomInt}}

:添加0和1000之间的随机整数

 

代码中循环的控制

外部循环:

    要实现请求循环,只能通过指定下一个请求对应的name,跳到指定请求,继续往下走。否则只能一步步请求串联起来,这样代码会显得很冗余

内部循环:

    代码内部循环,可以用js代码实现

 

postman实现接口自动化_第31张图片

外部请求循环

 

备注:

postman还可以通过newman+jenkins 可以实现CI,这里不做详述

老版本的postman和新版本的postman都存在一些bug, 建议用5版本

 

postman官方文档:

Introduction

 

你可能感兴趣的:(自动化)