直接在Tests中写js代码断言结果,Test Result展示运行结果,简单方便。

示例脚本:

var jsonData = JSON.parse(responseBody);
var num = jsonData.data.length;
if(num > 0){
tests["检查是否返回sku数据"]=true;
} else{
tests["检查是否返回sku数据"]=false;
} //hot排序
var week2SalesVolume = new Array(num);
var flag = true; for(var i=0; i<num; i++){
week2SalesVolume[i]=jsonData.data[i].week2SalesVolume;
console.log(week2SalesVolume[i]);
} for(var i=0;i<week2SalesVolume.length-1;i++){
for(var j=i+1;j<week2SalesVolume.length;j++){
if(week2SalesVolume[i] < week2SalesVolume[j]){
flag = false;
break;
}
}
} if(flag){
tests["检查hot排序顺序"]=true;
}else{
tests["检查hot排序顺序"]=false;
} if(jsonData.policy=="A"){
tests["检查Query是否走指定版本"]=true;
}else{
tests["检查Query是否走指定版本"]=false;
}

示例response:

{
"succeed": true,
"code": 0,
"msg": "success",
"total": 19523,
"pageNo": 1,
"pageSize": 10,
"data": [
{
"week2SalesVolume": 1226.0
},
{
"week2SalesVolume": 1196.0
},
{
"week2SalesVolume": 1187.0
},
{
"week2SalesVolume": 1159.0
},
{
"week2SalesVolume": 1057.0
},
{
"week2SalesVolume": 1044.0
},
{
"week2SalesVolume": 1039.0
},
{
"week2SalesVolume": 979.0
},
{
"week2SalesVolume": 963.0
},
{
"week2SalesVolume": 913.0
}
],
"shopInfo": null,
"aggData": {},
"scrollId": null,
"policy": "A",
"planCode": null,
"bucketId": null,
"planId": null,
"versionId": null,
"cookie": null,
"point": null
}

其他常用脚本:

// 逻辑判断
tests["检查推广置顶sku不被取消"]=jsonData.data[0].goodsSn==="459492001";
tests["检查常规置顶sku不被置顶"]=jsonData.data[1].goodsSn != "231712410";
tests["检查sku实时算法分"] = jsonData.data[0]._scoreLog.details['ai score'] >= 1.0 && jsonData.data[0]._scoreLog.details['ai score']< 100; // 是否包含xx字段
tests["检查是否返回ai score字段"]=responseBody.has("ai score"); if(jsonData.policy=="Z"){
tests["检查是否走指定版本"]=true;
}else{
tests["检查是否走指定版本"]=false;
} // 常用脚本
# 响应时间必须少于200毫秒
tests["Response time is less than 200ms"] = responseTime < 200; // 状态码200
tests["Status code is 200"] = responseCode.code === 200; // 获取response返回内容
var rsb = responseBody; // 是字符串格式 // 设置环境变量 只能存储字符串,如果是对象的话则无法在下次运行时获取到内容
// 如需要存储JSON数据,可以用JSON.stringify(..)存储,再用JSON.parse(..)转化为对象使用
pm.environment.set("variable_key", "variable_value"); // 获取环境变量
var v = pm.environment.get("variable_key"); // 清除某个环境变量
pm.environment.unset("variable_key"); // 设置全局变量
pm.globals.set("variable_key", "variable_value");
// 获取全局变量和普通变量
var gb = pm.globals.get("variable_key");
var nm = pm.variables.get("variable_key");
// Javascript 获取变量类型
console.log( typeof pm.enviroment );

Postman Tests脚本的使用的更多相关文章

  1. Postman接口测试脚本编写规范

    Postman接口测试脚本编写规范 1.前言 2.名词解释 3.接口测试脚本规范 3.1接口测试脚本编写的规范 3.2 Postman使用规范 4.单个接口测试 5.整个流程的开发过程 1.前言 本规 ...

  2. postman(九):postman接口测试脚本集成到jenkins

    本篇的目的是实现使用jenkins远程执行postman接口测试脚本 准备工作:一台linux服务器(可以用虚拟机搭建一个),linux服务器上安装好node.js.newman,部署好jenkins ...

  3. Postman—测试脚本

    前言 对于Postman中的每个请求,我们都可以使用JavaScript语言来开发测试脚本.这也就好比单元测试.我们先看看Postman的相关界面: 编写测试脚本 Postman测试脚本本质上是在发送 ...

  4. Postman接口自动化--Postman Script脚本功能使用详解

    Postman Script 功能,支持原生的JS,所以可以使用JS解决很多接口自动化的一些问题,例如接口依赖.接口参数专递和接口断言等: 这里主要是针对Pre-Request Script 和 Te ...

  5. postman tests实例记录(还没看,一些常用的)

    这段时间准备测试api接口,postman这个工具很是方便,特别是里面的tests的javascript脚本. 记录一下测试接口常用的tests验证的实例. 1.设置环境变量 postman.setE ...

  6. postman tests常用方法

    postman常用方法集合: 1.设置环境变量 postman.setEnvironmentVariable("key", "value"); pm.envir ...

  7. postman Tests断言

    摘要:关于postman的断言方法很多,在网上随便搜寻下,能搜出一大推,什么牛鬼蛇神都有,让人眼花缭乱..甚至在应用时出现错误.Test断言都是根据js规则来写的,对于我这种不懂js语言的来说确实不友 ...

  8. postman 官方 test 脚本样例

    Test examples 样例来源: https://learning.getpostman.com/docs/postman/scripts/test_examples/ Test scripts ...

  9. Postman—命令执行脚本及生成报告

    前言 前面的应用中,都是在postman图形界面工具里面进行测试,但是有时候我们需要把测试脚本集成到CI平台,或者在非图形界面的系统环境下进行测试,那么我们该如果处理呢 通过newman来执行post ...

随机推荐

  1. 2019-10-31-VisualStudio-2019-新特性

    title author date CreateTime categories VisualStudio 2019 新特性 lindexi 2019-10-31 08:48:27 +0800 2019 ...

  2. 16.Linux-CentOS系统进入单用户模式修改root用户密码操作

    问题描述: root用户密码忘记,进入单用户重置root用户密码 解决步骤: 1.重启服务器,在系统显示内核版本界面后“按E键”,进入内核启动项2.找到Linux16这一行段,将“ro”修改成“rw” ...

  3. Comet OJ - Contest #2 C题 言论的阴影里妄想初萌

    题目描述 Takuru 是一名能力者,他在地震时获得了念力致动的能力.所以他经常用自己的能力去干一些奇奇怪怪的事情. 有一天他获得了一张 nn 个点的无向完全图,之后他使用了能力,导致这张图的 \fr ...

  4. Linux 正在尝试其他镜像

    Linux  正在尝试其他镜像 发生情景: 在windows7系统,安装了虚拟机Oracle VM VirtualBox,使用的CentOS7, 在使用yum的使用,一直提醒"正在尝试其他镜 ...

  5. test dword ptr [eax],eax ; probe page.局部数组变量定义所分配的最大空间为1M

    问题的出现 使用VS2017编写程序时,程序编译可以通过,但运行时就会弹出错误 经过查证发现: 这跟局部数组变量定义所分配的最大空间设置大小有关. 局部变量的申请空间是存放于栈中,windows里默认 ...

  6. MySQL常见的三种存储引擎

    原文链接:https://www.cnblogs.com/yuxiuyan/p/6511837.html 简单来说,存储引擎就是指表的类型以及表在计算机上的存储方式. 存储引擎的概念是MySQL的特点 ...

  7. 配置apache运行cgi程序

    配置apache运行cgi程序 文章目录 [隐藏] ScriptAlias目录的CGI ScriptAlias目录以外的CGI 配置apache运行cgi程序可分为两种情况,一是ScriptAlias ...

  8. MongoDB之$关键字,以及$修饰器$set,$inc,$push,$pull,$pop

    一.查询中常见的 等于 大于 小于 大于等于 小于等于 等于:在MongoDB中,什么字段等于什么值就是" : ",比如 "name":"路飞学城&q ...

  9. Vue刷新token,判断token是否过期

    1.判断token是否过期,前端请求后,后台会返回一个状态给你.根据状态判断是否过期,刷新token 2.是否每次请求后端都会返回新的token给你.或者后端给你定义了一个刷新token的方法,那此时 ...

  10. Python---进阶---文件操作---搜索文件和保存搜索结果

    ### 编写一个程序,用户输入文件名以及开始搜索的路径,搜索该文件是否存在,如果遇到文件夹,则进入该文件夹继续搜索 - input 去接受用户输入的文件名和开始搜索的路径 - os.path.isdi ...