postman测试实例--断言
让我们来看看postman测试的一些例子。 其中大部分是作为内部postman片段。 大多数测试是为单行的JavaScript语句一样简单。 只要你想一个请求,你可以有很多的测试。
注意:一个响应已从服务器接收后测试脚本运行。
测试实例
1.设置环境变量
postman.setEnvironmentVariable("key", "value");
例子: postman.setEnvironmentVariable("url", "http://192.168.36.47/v2/api");
使用环境变量的格式:{{url}}
1.1清除环境变量
postman.clearEnvironmentVariable("variable_key");
例子:postman.clearEnvironmentVariable("url");
2.设置一个全局变量
postman.setGlobalVariable("key", "value");
例子:postman.setGlobalVariable("username", "123@qq.com");
使用全局变量格式:{{variableName}}
2.1清除一个全局变量
postman.clearGlobalVariable("key", "value");
例子:postman.clearGlobalVariable("username", "123@qq.com");
3.检查响应体包含一个字符串
tests["Body matches string"] = responseBody.has("string_you_want_to_search");
例子:响应体包含以下字段 "path": "field is read-only",
tests["Body matches string"] = responseBody.has("field is read-only");
tests["Body matches string"] = responseBody.has("path");
4.转换XML身体JSON对象
var jsonObject = xml2Json(responseBody);
例子:
5.检查响应体等于一个字符串
tests["Body is correct"] = responseBody === "response_body_string";
例子:响应体包含以下字段 "path": "field is read-only",
tests["Body is correct"] = responseBody === "response_body_string";
6.检查一个JSON值
var data = JSON.parse(responseBody);
tests["Your test name"] = data.value === 100;
7.Content-Type的存在(不区分大小写检查)
tests["Content-Type is present"] = postman.getResponseHeader("Content-Type"); //Note: the getResponseHeader() method returns the header value, if it exists.
8.Content-Type的存在(区分大小写)
tests["Content-Type is present"] = responseHeaders.hasOwnProperty("Content-Type");
9.响应时间小于200ms的
tests["Response time is less than 200ms"] = responseTime < 200;
10.状态代码是200
tests["Status code is 200"] = responseCode.code === 200;
例子:状态码是404
tests["Status code is 404"] = responseCode.code === 404;
11.代号包含一个字符串
tests["Status code name has string"] = responseCode.name.has("Created");
例子:Status:201 CREATED
tests["Status code is 201"] = responseCode.code === 201;
tests["Status code name has string"] = responseCode.name.has("Created");
12.成功的POST请求的状态代码
tests["Successful POST request"] = responseCode.code === 201 || responseCode.code === 202;
13.使用TinyValidator的JSON数据
var schema = {
"items": {
"type": "boolean"
}
};
var data1 = [true, false];
var data2 = [true, 123];
console.log(tv4.error);
tests["Valid Data1"] = tv4.validate(data1, schema);
tests["Valid Data2"] = tv4.validate(data2, schema);
样本数据文件
JSON文件由键/值对
下载JSON文件
对于CSV文件,最上面一行需要包含变量名
下载CSV文件
postman测试实例--断言的更多相关文章
- 三、postman测试断言设置语法
postman的基本介绍跟基本的用法,在此就不做过多赘述,主要是受限于时间,网上有很多大神总结的已经算是很详尽了,给出链接并感谢大神的辛苦与奉献: postman基本用法:http://www.jia ...
- JMeter学习-026-JMeter 分布式(远程)参数化测试实例
以前文所述对文章详情的HTTP请求进行性能测试为例.日常实际场景中,不可能所有的人都在同时访问一篇文章,而是多人访问不同的文章,因而需要对文章编号进行参数化,以更好的模拟日常的性能测试场景.同时,因文 ...
- PHP简单实现异步多文件上传并使用Postman测试提交图片
虽然现在很多都是使用大平台的对象存储存放应用中的文件,但有时小项目还是可以使用以前的方式上传到和程序一起的服务器上,强调一下这里是小众需求,大众可以使用阿里云的OSS,腾讯的COS,七牛的巴拉巴拉xx ...
- postman—Sandbox和断言
Postman沙盒 Postman Sandbox是一个JavaScript执行环境,您可以在编写预请求脚本和测试脚本(在Postman和Newman中)时可用.在这个沙箱中执行您在预请求/测试脚本部 ...
- 4、postman的常见断言
推荐我的另一篇文章 浅谈JSONObject解析JSON数据,这篇文章原理类似,使用java或者beanshell进行断言解析json数据 介绍断言之前,我们先测试1个接口: 接口地址:https: ...
- 基于postman测试接口(整套接口测试)
基于postman测试接口(整套接口测试) 可以解决的问题 几百个接口人工测试接口过于繁杂 大多测试无法使用请求结果当参数 可以使用随机参数 支持swagger信息导入 随账号持久化保存数据 对集合一 ...
- API测试之Postman使用全指南(原来使用 Postman测试API如此简单)
Postman Postman是一个可扩展的API开发和测试协同平台工具,可以快速集成到CI/CD管道中.旨在简化测试和开发中的API工作流. Postman 工具有 Chrome 扩展和独立客户端, ...
- 『政善治』Postman工具 — 9、在Postman中使用断言
目录 1.Tests的介绍 2.常用SNIPPETS(片段)说明 (1)常用变量相关 (2)状态码相关 (3)响应结果断言: (4)Header : (5)响应速度: 3.示例 (1)响应码断言 (2 ...
- webservice测试实例
webservice测试实例(LR8.1) 接口声明:这个接口是sina的短信服务接口,我只是用来做脚本学习使用,不会对其产生压力:希望读者也只是用来进行录制学习,而不是产生压力. 接口文档:http ...
随机推荐
- ReentrantLock(排他锁)
在多线程操作时.保证一块共享资源的原子性.第一想到的就是用synchronized关键字 在jdk5提供一个更灵活更强大的 ReentrantLock 使用reentrantLock.lock();获 ...
- 洛谷 P1197 BZOJ 1015 [JSOI2008]星球大战 (ZOJ 3261 Connections in Galaxy War)
这两道题长得差不多,都有分裂集合的操作,都是先将所有操作离线,然后从最后一步开始倒着模拟,这样一来,分裂就变成合并,也就是从打击以后最终的零散状态,一步步合并,回到最开始所有星球都被连为一个整体的状态 ...
- HDU4565 So Easy!
/* HDU4565 So Easy! http://acm.hdu.edu.cn/showproblem.php?pid=4565 数论 快速幂 矩阵快速幂 题意:求[(a+sqrt(b))^n ] ...
- hdu 1716 深搜dfs
#include<stdio.h> #include<stdlib.h> #include<string.h> #define N 5 int f[N]; int ...
- 0619数据库_MySQL_由浅入深理解索引的实现
转自http://blog.csdn.net/u010003835/article/details/51563348 这篇文章是介绍MySQL数据库中的索引是如何根据需求一步步演变最终成为B+树结构的 ...
- 进入Material Design时代
------------------------------------------------------------------------------ GitHub:lightSky 微博: ...
- logistic regression model
logistic regression model LR softmax classification Fly logistic regression model loss fuction softm ...
- 逻辑斯蒂回归3 -- 最大熵模型之改进的迭代尺度法(IIS)
声明: 1,本篇为个人对<2012.李航.统计学习方法.pdf>的学习总结,不得用作商用.欢迎转载,但请注明出处(即:本帖地址). 2,因为本人在学习初始时有非常多数学知识都已忘记.所以为 ...
- Java编程:切面条
/* 一根高筋拉面,中间切一刀,能够得到2根面条. 假设先对折1次.中间切一刀.能够得到3根面条. 假设连续对折2次,中间切一刀.能够得到5根面条. 那么.连续对折10次.中间切一刀.会得到多少面条呢 ...
- Python使用装饰器自动调用父类__init__
众所周知,Python中class的构造函数实际是__new__(),但是如果我们执行p1=Point()的时候,不仅会调用Point的__new__方法,而且会调用Point的__init__方法. ...