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

示例脚本:

  1. var jsonData = JSON.parse(responseBody);
  2. var num = jsonData.data.length;
  3. if(num > 0){
  4. tests["检查是否返回sku数据"]=true;
  5. } else{
  6. tests["检查是否返回sku数据"]=false;
  7. }
  8.  
  9. //hot排序
  10. var week2SalesVolume = new Array(num);
  11. var flag = true;
  12.  
  13. for(var i=0; i<num; i++){
  14. week2SalesVolume[i]=jsonData.data[i].week2SalesVolume;
  15. console.log(week2SalesVolume[i]);
  16. }
  17.  
  18. for(var i=0;i<week2SalesVolume.length-1;i++){
  19. for(var j=i+1;j<week2SalesVolume.length;j++){
  20. if(week2SalesVolume[i] < week2SalesVolume[j]){
  21. flag = false;
  22. break;
  23. }
  24. }
  25. }
  26.  
  27. if(flag){
  28. tests["检查hot排序顺序"]=true;
  29. }else{
  30. tests["检查hot排序顺序"]=false;
  31. }
  32.  
  33. if(jsonData.policy=="A"){
  34. tests["检查Query是否走指定版本"]=true;
  35. }else{
  36. tests["检查Query是否走指定版本"]=false;
  37. }

示例response:

  1. {
  2. "succeed": true,
  3. "code": 0,
  4. "msg": "success",
  5. "total": 19523,
  6. "pageNo": 1,
  7. "pageSize": 10,
  8. "data": [
  9. {
  10. "week2SalesVolume": 1226.0
  11. },
  12. {
  13. "week2SalesVolume": 1196.0
  14. },
  15. {
  16. "week2SalesVolume": 1187.0
  17. },
  18. {
  19. "week2SalesVolume": 1159.0
  20. },
  21. {
  22. "week2SalesVolume": 1057.0
  23. },
  24. {
  25. "week2SalesVolume": 1044.0
  26. },
  27. {
  28. "week2SalesVolume": 1039.0
  29. },
  30. {
  31. "week2SalesVolume": 979.0
  32. },
  33. {
  34. "week2SalesVolume": 963.0
  35. },
  36. {
  37. "week2SalesVolume": 913.0
  38. }
  39. ],
  40. "shopInfo": null,
  41. "aggData": {},
  42. "scrollId": null,
  43. "policy": "A",
  44. "planCode": null,
  45. "bucketId": null,
  46. "planId": null,
  47. "versionId": null,
  48. "cookie": null,
  49. "point": null
  50. }

其他常用脚本:

  1. // 逻辑判断
  2. tests["检查推广置顶sku不被取消"]=jsonData.data[0].goodsSn==="459492001";
  3. tests["检查常规置顶sku不被置顶"]=jsonData.data[1].goodsSn != "231712410";
  4. tests["检查sku实时算法分"] = jsonData.data[0]._scoreLog.details['ai score'] >= 1.0 && jsonData.data[0]._scoreLog.details['ai score']< 100;
  5.  
  6. // 是否包含xx字段
  7. tests["检查是否返回ai score字段"]=responseBody.has("ai score");
  8.  
  9. if(jsonData.policy=="Z"){
  10. tests["检查是否走指定版本"]=true;
  11. }else{
  12. tests["检查是否走指定版本"]=false;
  13. }
  14.  
  15. // 常用脚本
  16. # 响应时间必须少于200毫秒
  17. tests["Response time is less than 200ms"] = responseTime < 200;
  18.  
  19. // 状态码200
  20. tests["Status code is 200"] = responseCode.code === 200;
  21.  
  22. // 获取response返回内容
  23. var rsb = responseBody; // 是字符串格式
  24.  
  25. // 设置环境变量 只能存储字符串,如果是对象的话则无法在下次运行时获取到内容
  26. // 如需要存储JSON数据,可以用JSON.stringify(..)存储,再用JSON.parse(..)转化为对象使用
  27. pm.environment.set("variable_key", "variable_value");
  28.  
  29. // 获取环境变量
  30. var v = pm.environment.get("variable_key");
  31.  
  32. // 清除某个环境变量
  33. pm.environment.unset("variable_key");
  34.  
  35. // 设置全局变量
  36. pm.globals.set("variable_key", "variable_value");
  37. // 获取全局变量和普通变量
  38. var gb = pm.globals.get("variable_key");
  39. var nm = pm.variables.get("variable_key");
  40. // Javascript 获取变量类型
  41. 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. OC+swift混编

    作者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/34440159 转载请注明出处 如果觉得文章对你有所帮助,请通过留言 ...

  2. windows无法安装.net framework 3.5解决方法

    windows server 12r2 或 win10 安装.netframework 3.5方法: 一. 直接在“启用或关闭windows功能”中可以启用,需联网.但是经常会出错,可能安装过程中需要 ...

  3. Linux硬盘分区和软硬链接

    磁盘分区:先在虚拟机设置里添加一个新硬盘 查看现在电脑上有几个硬盘:ls /dev/硬盘名 分区命令:fdisk  /dev/硬盘名 进入之后,可以输入 m 查看命令的具体是使用 新建分区:n→p(选 ...

  4. Beta冲刺-(1/3)

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/ 这个作业要求在哪里 https://edu.cnbl ...

  5. 10年前文章_eclipse下perl环境搭建

    eclipse下perl环境搭建1.Eclipse下安装perl插件Help -Software Updates…- Available .- Add Site… :http://e-p-i-c ...

  6. 主流Linux发行版及联系

    一.主流Linux主流发行版 RedHat:Red Hat Linux是由Red Hat公司发行的一个Linux发行包.其1.0版本于1994年11月3日发行,虽然其历史不及Slackware般悠久, ...

  7. java 分页对象以及数据库分页查询

    import java.util.List; public class Pager<T> { private Integer pageSize; private Integer total ...

  8. SDOI2010代码拍卖会 (计数类DP)

    P2481 SDOI2010代码拍卖会 $ solution: $ 这道题调了好久好久,久到都要放弃了.洛谷的第五个点是真的强,简简单单一个1,调了快4个小时! 这道题第一眼怎么都是数位DP,奈何数据 ...

  9. Centos 6.4 x86_64 最小化安装后的优化——还需要整理

      Centos 6.4 x86_64 最小化安装后的优化   购买了服务器以后要做的第一件事就是安装操作系统了,这里推荐安装 Centos 6.4 x86_64,安装系统时要选择最小化安装(不需要图 ...

  10. 认识.net Framework