postman——预处理和断言
一、预处理
Pre-request Scrip 1、Pre-request Script是集合中请求发送之前需要执行的代码片段
2、请求参数中包含一个随机数或者请求header中包括一个时间戳,或者你的请求参数需要加密
Pre-request Script常用代码
右侧提供了一些常用的代码


二、断言
postman断言是JavaScript语言编写的,在postman客户端指定区域编写即可。
断言会在请求返回之后,运行,并根据断言的pass\fail情况体现在最终测试结果中。
| clear a global variable | 清除全局变量 | pm.globals.unset("variable_key"); |
| Clear an environment variable | 清除环境变量 | pm.environment.unset("variable_key"); |
| get a global variable | 得到一个全局变量 | pm.globals.get("variable_key"); |
| get a variable | 得到一个变量 | pm.variables.get("variable_key"); |
| Get an environment variable | 得到一个环境变量 | pm.environment.get("variable_key"); |
| response body:contains string | 检查response body包含字符串 | pm.test("Body matches string", function () { pm.expect(pm.response.text()).to.include("string_you_want_to_search"); }); |
| response body:convert XML body to a JSON object | response body:将XML转换为JSON对象 | var jsonObject = xml2Json(responseBody); |
| response body:is equal to a string | 检查response body等于指定字符串 | pm.test("Body is correct", function () { pm.response.to.have.body("response_body_string"); }); |
| response body:JSON value check | 检查response body中JSON某字段值 | pm.test("Your test name", function () { var jsonData = pm.response.json(); pm.expect(jsonData.value).to.eql(100); }); |
| response headers:content-Type header check | 检查content-Type是否包含在header返回 | pm.test("Content-Type is present", function () { pm.response.to.have.header("Content-Type"); }); |
| response time is than 200ms | 响应时间超过200ms | pm.test("Response time is less than 200ms", function () { pm.expect(pm.response.responseTime).to.be.below(200); }); |
| send s request | 发送一个请求 | pm.sendRequest("https://postman-echo.com/get", function (err, response) { console.log(resp onse.json()); }); |
| set a global variable | 设置一个全局变量 | pm.globals.set("variable_key", "variable_value"); |
| set an environment variable | 设置一个环境变量 | pm.environment.set("variable_key", "variable_value"); |
| status code:Code is 200 | 状态码:代码是200 | pm.test("Status code is 200", function () { pm.response.to.have.status(200); }); |
| status code:code name has string | 状态码:代码中有指定字符串 | pm.test("Status code name has string", function () { pm.response.to.have.status("Created"); }); |
| status code:successful POST request | 状态码:成功的post请求 | pm.test("Successful POST request", function () { pm.expect(pm.response.code).to.be.oneOf([201,202]); }); |
| use tiny validator for JSON data | 为json数据使用tiny验证器 | var schema = { "items": { "type": "boolean" } }; var data1 = [true, false]; var data2 = [true, 123]; pm.test('Schema is valid', function() { pm.expect(tv4.validate(data1, schema)).to.be.true; pm.expect(tv4.validate(data2, schema)).to.be.true; }); |
postman——预处理和断言的更多相关文章
- postman测试实例--断言
postman测试实例--断言 让我们来看看postman测试的一些例子. 其中大部分是作为内部postman片段. 大多数测试是为单行的JavaScript语句一样简单. 只要你想一个请求,你可以有 ...
- postman—Sandbox和断言
Postman沙盒 Postman Sandbox是一个JavaScript执行环境,您可以在编写预请求脚本和测试脚本(在Postman和Newman中)时可用.在这个沙箱中执行您在预请求/测试脚本部 ...
- 4、postman的常见断言
推荐我的另一篇文章 浅谈JSONObject解析JSON数据,这篇文章原理类似,使用java或者beanshell进行断言解析json数据 介绍断言之前,我们先测试1个接口: 接口地址:https: ...
- 『政善治』Postman工具 — 9、在Postman中使用断言
目录 1.Tests的介绍 2.常用SNIPPETS(片段)说明 (1)常用变量相关 (2)状态码相关 (3)响应结果断言: (4)Header : (5)响应速度: 3.示例 (1)响应码断言 (2 ...
- PostMan变量与断言应用(对标Jmeter)
常见的接口测试工具有PostMan/Jmeter/SoapUI,当然,也有一些公司为了更贴近自身的应用开发了一些小工具. 从功能上对比,Jmeter更为强大,既能做压测还能测接口,扩展性也比较好. B ...
- 利用 Postman 中 Tests 断言校验返回结果
前言 Postman目前是一款很火的接口测试工具,它有着非常强大结果判断能力.为什么说强大呢,因为Postman有自带的校验脚本,根本不需要我们去学习JS脚本语言,对于代码能力为0的各位测试小伙伴来说 ...
- Postman(一)、断言
postman常见断言方法介绍: 1.Clear a global variable (清除一个全局变量) postman.clearGlobalVariable("variable_ke ...
- postman之请求&断言
http://www.jianshu.com/p/dd0db1b13cfc ---参考网址 文档:https://www.v2ex.com/p/7v9TEc53 api地址:https://ww ...
- Postman中的断言
Postman设置断言 一.断言的定义 1.什么是断言? 一般一个完整的接口测试,包括:请求->获取响应正文->断言,请求和获取响应正文很常见.断言一般是对请求的响应结果做操作,判断预期结 ...
- 【4】Postman之Tests(断言)
简介:使用postman完成请求后,验证返回结果,会用到tests断言.官方提供了很多可以直接使用的方法~ 接下来主要介绍这些方法是如何使用. 1. 变量相关: Get an environment ...
随机推荐
- HTML一键打包APK工具1.9.5更新,新增一机一码功能
HMTL网址打包APK,可以把本地HTML项目, Egret游戏,网页游戏,或者网站打包为一个安卓应用APK文件,无需编写任何代码,也无需配置安卓开发环境,支持在最新的安卓设备上安装运行. 打包软件会 ...
- 使用MySQL存储过程提高数据库效率和可维护性
MySQL 存储过程是一种强大的数据库功能,它允许你在数据库中存储和执行一组SQL语句,类似于编程中的函数.存储过程可以大幅提高数据库的性能.安全性和可维护性.本文将详细介绍MySQL存储过程的使用. ...
- 设备维修保养通知:如何使用API接口发送通知给相关人员
在设备维修保养管理中,及时通知相关人员是确保设备得到及时维护的关键.API接口提供了一个方便的方式来自动发送维修保养通知,以确保工作流程的顺利进行.本文将详细介绍如何使用成熟的API接口来发送设备维修 ...
- 一文浅谈Mockito使用
一.前期准备- 1.准备工作 <!--mockito依赖-->a <dependency> <groupId>org.mockito</groupId> ...
- C++高精度算法
文章结尾有惊喜 在 C++ 中,unsigned long long最大只能表示到2^64-1=18446744073709551615264−1=18446744073709551615 而有些题目 ...
- Flask框架——Flask脚本、flask知识点补充
文章目录 Flask_脚本 1 集成Python shell 1.1 flask-script的用法: 1.1.1 实例:flask-script的简单实现 1.1.1命令添加方式: 第一种(无参命令 ...
- Ubuntu更新软件的命令
更新软件源 apt-get update 更新升级所有软件 apt-get upgrade 更新某个软件 apt-get upgrade 名 列出可更新的软件 apt list --upgradabl ...
- Arduino Uno Rev3
Overview Arduino Uno is a microcontroller board based on the ATmega328P (datasheet). It has 14 digit ...
- 使用 Alacritty 替代 Gnome-Terminal 解决 Ubuntu 中终端的行间距问题
我之前发了一篇随笔新版 Ubuntu 中 gnome-terminal 可恶的行间距问题逼我退回了 Ubuntu 20.04,描述了新版 Ubuntu 中终端的行间距问题.评论中给出了一个解决办法,那 ...
- PHP-FFMpeg 操作音视频
目录 安装PHP-FFMpeg 视频中提取一张图片 视频中提取多张图片 调整视频大小 视频添加水印 生成音频波形 音频转换 给音频添加元数据 拼接多个音视频 截取音视频 提取 gif 动图 裁剪视频 ...