首页 > 其他分享 >接口脚本编写

接口脚本编写

时间:2024-04-24 14:46:57浏览次数:25  
标签:脚本 codes name matchingObject 接口 var 编写 id pm

 

如果返回值是一个列表,而你需要从中根据判断条件获取对应的值

 

// 假设响应体中的数据是一个列表,如下:
// [
//   { "id": 1, "name": "Alice" },
//   { "id": 2, "name": "Bob" },
//   { "id": 3, "name": "Charlie" }
// ]

// 定义判断条件
var condition = "Bob";

// 遍历列表,寻找符合条件的对象
var matchingObject = null;
pm.response.json().forEach(function(item) {
  if (item.name === condition) {
    matchingObject = item;
  }
});

// 如果找到符合条件的对象,则获取对应的值
if (matchingObject !== null) {
  var desiredValue = matchingObject.id;  // 在此示例中获取id值
  // 执行你想要的操作,例如将值存储到环境变量中
  pm.environment.set("desiredValue", desiredValue);
}

  如果你的条件是实际结果是否包含你的条件时,则可以这样

// 假设响应体中的数据是一个列表,如下:
// [
//   { "id": 1, "name": "Alice" },
//   { "id": 2, "name": "Bob" },
//   { "id": 3, "name": "Charlie" }
// ]

// 定义判断条件
var condition = "e";

// 遍历列表,寻找符合条件的对象
var matchingObject = null;
pm.response.json().forEach(function(item) {
  if (item.name.includes(condition)) {
    matchingObject = item;
  }
});

// 如果找到符合条件的对象,则获取对应的值
if (matchingObject !== null) {
  var desiredValue = matchingObject.id;  // 在此示例中获取id值
  // 执行你想要的操作,例如将值存储到环境变量中
  pm.environment.set("desiredValue", desiredValue);
}

获取变量值

pm.environment.get("codes") //其中codes为变量名

设置变量

pm.environment.set("codes", "value") //其中code为变量名,value为值

想要输出到控制台

console.log("Old value:"+"test")
//输出结果
Old value:test

如果你执行的脚本可能会出错,当出错时不执行任何脚本时,你可以执行:

//变量codes的值为“[“***”,"ccc","dddd"]”
var oldValue = pm.environment.get("codes"); //获取环境变量codes的值
console.log("Old value:"+oldValue); 
var myList = oldValue.split(","); //去除变量最外层引号
//判断去除引号后的值是否为元组(列表)
if (Array.isArray(myList)) {
//尝试执行对元组的操作,但此元组不一定是JSON,如果不是json则会报错
    try {
        var myArray = JSON.parse(myList)
        var newValue = myArray.join(",");
        pm.environment.set("codes", newValue);
        console.log("New value: " + pm.environment.get("codes"));
        // 执行 JSON 格式的操作
    } catch (error) {
        console.log("不是json");
        // 跳过执行操作
    }
    // 执行列表类型的操作
} else {
    console.log(typeof oldValue);
    console.log(typeof myList);
    // 处理非列表类型的情况
}

  

 

标签:脚本,codes,name,matchingObject,接口,var,编写,id,pm
From: https://www.cnblogs.com/luckywh/p/17552832.html

相关文章

  • jmeter有很多个接口需要用到token,怎么简单操作?
     一、实现方法添加HTTP请求默认值:在你的测试计划中,添加一个HTTP请求默认值配置元件(HTTPRequestDefaults),用于设置所有HTTP请求的公共属性,包括服务器地址、端口号等。你可以在这里设置token,以便在所有请求中都能使用它。获取token:在测试计划中,添加一个HTTP请求,......
  • linux shell 脚本调试技巧
    本文分享自天翼云开发者社区《linuxshell脚本调试技巧》,作者:g****n1.bash-x加脚本这是最常用的调试手段,终端会打印出,脚本执行过程中的每一个命令。a.查看脚本流程有无错误b.查看变量值有无错误c.查看退出位置是否符合预期例如脚本 small_test.sh #!/bin/bashecho......
  • 服务器部署jar包执行命令编写
    服务器部署jar包执行命令编写新建deploy.sh文件,并编写内容SERVER_NAME=demo-server-8.2.0.15.jar#服务jar包名称#根据服务名称查询对应的pidpid=$(ps-ef|grep$SERVER_NAME|grep-vgrep|awk'{print$2}');#判断进程是否存在,存在则杀死if[-n"$pid"];thenkill......
  • 《最新出炉》系列入门篇-Python+Playwright自动化测试-40-录制生成脚本
    1.简介各种自动化框架都会有脚本录制功能,playwright这么牛叉当然也不例外。很早之前的selenium、Jmeter工具,发展到每种浏览器都有对应的录制插件。今天我们就来看下微软自动化框架playwright是如何录制脚本的。很多小伙伴或者童鞋们会觉得奇怪,怎么现在才将录制生成脚本啊,要是早......
  • 双向链表接口设计
    双向链表接口设计/***@filename:双向链表接口设计(非循环接口)*@brief*@[email protected]*@date2024/04/23*@version1.0:*@property:*@note*CopyRight(c)[email protected]*/构造双向循环链表结构体//指......
  • JS之调用高德地图接口进行打卡
    调用高德地图接口进行打卡1.安装依赖"@amap/amap-jsapi-loader":"^1.0.1"2.增加代码如下:orientation.jsimportAMapLoaderfrom'@amap/amap-jsapi-loader';import{gcj02towgs84}from'./coordTransform.js';exportfunctiongetOrientati......
  • shell脚本一键安装nginx-1.18.0
    shell脚本一键安装nginx-1.18.0#!/bin/bashset-euopipefailNGINX_VERSION="1.18.0"DOWNLOAD_URL="https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz"INSTALL_DIR="/apps/nginx"PACKAGE_LIST="gccpcre-developenssl-develz......
  • ECMAScript(简称 ES)是一种由 Ecma 国际组织制定的脚本语言标准,用于定义脚本语言的语法
    ECMAScript(简称ES)是一种由Ecma国际组织制定的脚本语言标准,用于定义脚本语言的语法、类型、语义和其他核心特性。它的设计初衷是为了使不同的浏览器和开发者能够使用一致的语法和特性开发Web应用程序,从而提高跨平台和跨浏览器的互操作性。ECMAScript标准的制定由Ecma......
  • 双向链表的接口的接口程序
    双向链表的接口的接口程序/********************************************************************* filename: 双向链表的接口的接口程序* author :[email protected]* date :2024-4-23* function:* note :None** CopyRight(c)20241764757......
  • Google Play App Store API 采集谷歌安卓应用商城app的数据接口 - 2024最新
    iDataRiver平台https://www.idatariver.com/zh-cn/提供开箱即用的谷歌安卓应用商城googleplayappstore数据采集API,供用户按需调用。接口使用详情请参考GooglePlayAppStore接口文档接口列表1.获取指定app的基础信息参数类型是否必填默认值示例值描述apik......