侧边栏壁纸
博主头像
52gy 博主等级

行动起来,活在当下

  • 累计撰写 1 篇文章
  • 累计创建 1 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

postman

lllagy
2025-12-19 / 0 评论 / 0 点赞 / 3 阅读 / 0 字

postman相关数据

pm格式化时间戳参数化

方法一:
var moment = require('moment');
var data = moment().format(" YYYYMMDDHHmmss"); 
console.log(data);

方法二:
var myDate=new Date(); 
var year = myDate.getFullYear();
var month = myDate.getMonth() + 1; 
var date = myDate.getDate();
var hours = myDate.getHours() + 1; 
var min = myDate.getMinutes();
var seconds = myDate.getSeconds(); 
hours = hours < 10 ? "0" + hours : hours;
min = min < 10 ? "0" + min : min; 
seconds = seconds < 10 ? "0" + seconds : seconds;
var date = year + "" + month + date + hours + min + seconds;

使用方式:
# 在[Pre-request Script]里面设置
pm.environment.set("timestamp", data)
# 在body中使用 {{timestamp}}
{
  "id":"",
  "time":"{{timestamp}}"
}

pm生成随机数

一:系统默认
{{$guid}}:添加一个V4风格GUID(如: aa002-44ac-45ca-aae3-52bf19650e2d)
{{$timestamp}}:将当前的时间戳,精确到秒
{{$randomInt}}:添加0和1000之间的随机整数

二:自定义,在[Pre-request Script]里面设置
// 结果为0-1间的一个随机数(包括0,不包括1)
var randomNum1 = Math.random();

// 获取最小值到最大值之前的整数随机数
function GetRandomNum(Min, Max) {
    var Range = Max - Min;
    var Rand = Math.random();
    return(Min + Math.round(Rand * Range));
}
var num = GetRandomNum(100000, 999999);

pm生成MD5加密

/**
 * 通过request.data获取body的内容,这个是postman内置变量
 * 常用内置参数如下:
 * request 获取请求的参数,包括头和请求体
 * responseHeaders 返回值的header
 * responseBody 返回值的body
 * responseCode 返回值的http code
 */
var params = request.data;
 
/**
 * MD5加签规则:
 * 1、根据key排序(这里就直接根据顺序拼接了)
 * 2、如果value不为空,就拼接如下:key1=value1&key2=value2 生成原串
 * 3、原串后+盐值,比如salt=shengpay,最终的摘要串=key1=value1&key2=value2shengpay
 * 4、消息摘要,并将结果转为大写
 *
 */
//连接符
var join = '&';
//盐值
var MD5_SALT_SUFFIX = "shengpay";
var md5salt = params.subMerchantNo + MD5_SALT_SUFFIX;
var md5String = "orderId=" + params.orderId + join + "subMerchantNo=" + params.subMerchantNo + join +
    "terminalId=" + params.terminalId + md5salt;
console.log("md5String---->" + md5String);
var md5 = CryptoJS.MD5(md5String).toString().toUpperCase(); //MD5摘要后并转换为大写
console.log("md5 digest---->" + md5);
 
//放入环境变量
//pm.environment.set("sign_message",md5)
postman.setGlobalVariable("md5msg", md5);

pm生成SHA1签名

/**
 * 通过request.data获取body的内容,这个是postman内置变量
 * 常用内置参数如下:
 * request 获取请求的参数,包括头和请求体
 * responseHeaders 返回值的header
 * responseBody 返回值的body
 * responseCode 返回值的http code
 */
var params = request.data;

//body中参数放入数组
var list = [params.subsystemId,params.clientId,params.account,params.timestamp];
console.log("list---->" + list);

// 字段排序:这里建议使用默认的排序,优先比较字符的第一个,相同则比对第二个...
//list.sort(function(a, b){
    //return b-a;  //数字的排序
//    return b.localeCompare(a); //字符串排序
//});
list.sort();
console.log("list ---->" + list);

//字段重新组装拼接
var tmp='';
for(var i=0;i<list.length;i++){
    tmp += list[i];
}
console.log("tmp ---->" + tmp);

//生成签名串:这里使用SHA1算法并使用十六进制编码
//CryptoJS-为JavaScript提供了各种各样的加密算法
//作者:CryptoJS<>(https://code.google.com/p/crypto-js/)
var signHmacSHA1=CryptoJS.SHA1(tmp).toString(CryptoJS.enc.Hex).toUpperCase();
console.log("sign ---->" + signHmacSHA1);

//放入环境变量
//pm.environment.set("sha1msg",signHmacSHA1)
postman.setGlobalVariable("sha1msg", signHmacSHA1);

测试webservice接口

一:设置地址
http://localhost:8011/api/web/service?wsdl   POST请求
二:Headers设置Content-Type
Content-Type = text/xml;charset=utf-8
三:设置Body
设置Body为Raw
四:Body内容
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <getWeather xmlns="http://WebXml.com.cn/">
      <theCityCode>string</theCityCode>
      <theUserID>string</theUserID>
    </getWeather>
  </soap:Body>
</soap:Envelope>
详细说明:
(1) getWeather是方法名。
(2)theCityCode、theUserID是方法参数。

相应内容:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <getWeatherResponse xmlns="http://WebXml.com.cn/">
      <getWeatherResult>
        <string>string</string>
        <string>string</string>
      </getWeatherResult>
    </getWeatherResponse>
  </soap:Body>
</soap:Envelope>
详细说明:
(1)getWeatherResult是方法的返回值

请求错误:There was an error connecting to XXXX

1,检查环境变量;2,字段中是否有空格;3,在设置中,关闭ssl【ssl certificate verification】

0

评论区