Postman之脚本介绍

您所在的位置:网站首页 什么脚本语言 Postman之脚本介绍

Postman之脚本介绍

2023-03-10 07:08| 来源: 网络整理| 查看: 265

目录 前言 脚本简介 举例 脚本的执行顺序 示例: 测试脚本 编写Postman测试脚本 代码片段 常用代码片段翻译 查看结果 分支和循环 设置下一个要执行的请求 循环当前请求

前言

本文章的内容抄录自郭宏志老师在CSDN发布的课程, 由于这个视频没有提供课程笔记, 所以很尴尬的只能自己抄下来作为笔记使用. 本文的内容截图和代码都是自己敲上去的, 但是定义解释很多是抄下来的。 视频链接: https://edu.csdn.net/course/play/26898/350102.

脚本简介

Postman包含一个机遇Node.js的强大运行时, 该运行时可让你想请求和集合中添加动态行为. 这样, 你就可以编写测试套件, 构建可以包含动态参数的请求, 在请求之间传递数据等等。 JavaScript代码可以在2个事件期间执行:

在将请求发送到服务器之前, 作为pre-request script选项卡下的预请求脚本. 收到响应后, 作为test script选项卡下的测试脚本

你可以将预请求和测试脚本添加到集合, 文件夹, 集合中的请求或未保存到集合的请求.

举例

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在预请求脚本中输入

// 在预请求中设置全局变量 pm.globals.set("variable_key", "variable_value"); // 输出日志 console.log("预请求脚本")

在测试脚本中输入

// 返回状态码200 pm.test("状态码:200", function () { pm.response.to.have.status(200); }); // 输出日志 console.log("测试脚本")

运行之后,会返回测试结果 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

脚本的执行顺序

在Postman中, 单个请求的脚本执行顺序如下所示:

与请求关联的预请求脚本将在发送请求之前执行 发送请求后, 将执行与请求关联的测试脚本 在这里插入图片描述

对于集合中的每个请求,脚本中奖按一下顺序执行: 在这里插入图片描述

示例:

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

测试脚本

使用Postman, 你可以使用JavaScript为每个请求编写测试脚本。

编写Postman测试脚本

Postman测试实质上是在发送请求后执行的JavaScript代码。

示例代码:

// 检查当前的状态码 pm.test("返回的状态码应为200", function(){ pm.response.to.hava.status(200); }); // 检查检查环境变量的值 pm.test("环境变量env的值应为production", function(){ pm.expect(pm.environment.get("env").to.equal("produciton")); }); // 该方法内的3个判断都需要为真才算测试通过 pm.test("检查响应内容", function(){ pm.response.to.not.be.error; // 响应没有错误 pm.response.to.have.jsonBody(""), // jsonBody为空 pm.response.to.not.have.jsonBody("error"); //jsonBody没有错误 }) 代码片段

尽管编写测试时要记住的事情很多, 但Postman可以通过编辑器旁边列出常用的代码片段来简化此过程。

你可以选择要添加的代码片段, 并在测试编辑器中填充适当的代码。 这是快速构建测试用例的好方法。 在这里插入图片描述

常用代码片段翻译 代码片段 中文描述 Get a global variable 得到一个全局变量 Get a variable 得到一个变量 Set an environment variable 设置一个环境变量 Set a global variable 设置一个全局变量 Clear an environment variable 清空一个环境变量 Clear a global variable 清空一个全局变量 send a request 发送一个请求 status code: Code is 200 状态码是200 Response body : Contains string 响应的body包含某一个字符串 Response body: JSON value check 响应的body是JSON格式的 Response body: is equal to a string 判断某一个body是某一个字符串 Response headers: Content-Type header check 响应头信息的Content-Type必须出现 Response time is less than 200ms 响应的时间小于200毫秒 Status code: Successful POST request POST成功的状态码 Status code: Code name has string 状态码的名称 Response body: Convert XML body to a JSON object 将响应的body从xml格式转换为JSON格式 Use Tiny Validator for JSON data 验证JSON数据 查看结果

结果显示在响应查看器下的Test选项卡中。 标签页眉显示了通过了多少次测试, 并在此列出了测试结果。 如果测试评估为真,则测试通过。 在这里插入图片描述

分支和循环

运行集合时, 你可以使用postman.setNextRequest(“request_name”); 在Postman中的API请求之间进行分支和循环.

设置下一个要执行的请求

集合中如果有A、B、C三个请求, 正常情况下,这三个请求是按照顺序运行下去,但是我想运行完A请求之后跳过B运行C请求,这里就可以用到postman.setNextRequest(“request_name”); 在这里插入图片描述 在这里插入图片描述

循环当前请求

将当前运行的请求名称提供给setNextRequest可以让Postman连续运行当前请求。 但是要注意,这个方式是一个死循环,可以通过在下面加一句 *postman.setNextRequest(null)*停止循环。 在这里插入图片描述 在这里插入图片描述

关于分支和循环,Postman本身是支持JavaScript语法的,因此也可以用if和for来做分支条件和循环。


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3