接口测试平台:支持函数助手
Posted 软件测试君
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口测试平台:支持函数助手相关的知识,希望对你有一定的参考价值。
以以下两个函数进行举例:
Random
time
${KEY}
类型的字段,有一个getVariable函数的处理,详情可参考接口测试平台:
接口执行顺序与依赖。
我们只需要对
${KEY}
中的KEY的字符做解析,如果key以"__"开头,则调用函数助手。
private static final String RANDOM = "__Random";
private static final String TIME = "__time";
/** 函数助手 */
private static String functionAssistant(String key){
/**
* 入参:最小值,最大值,变量名
* __Random(1,99,INT) => 从1~99的数字,保存变量为 INT
*/
if (key.startsWith(RANDOM)){
String parameters = key.replace(RANDOM + "(", "").replace( ")", "");
String[] paramList = parameters.split( ",");
// 格式不对,返回空string
if (paramList.length != 3 && paramList.length != 2){
return key;
}
Long min = Long.valueOf(paramList[ 0]);
Long max = Long.valueOf(paramList[ 1]);
String value = String.valueOf(( long) (min + Math.random()*(max - min + 1)));
if (paramList.length == 3){
ApiTestConfig.globalVariableMap.put(paramList[ 2], value);
}
return value;
}
/**
* 入参:时间格式,变量名
* __time(,) 获取当前时间毫秒
* __time(/1000,) 获取当前时间秒
* __time(yyyy-MM-dd,) 获取yyyy-MM-dd格式时间
*/
if (key.startsWith(TIME)){
String parameters = key.replace(TIME + "(", "").replace( ")", "");
String[] paramList = parameters.split( ",");
Long now = System.currentTimeMillis();
if (paramList.length == 0){
return String.valueOf(now);
}
if (paramList[ 0].isEmpty() && !paramList[ 1].isEmpty()){
// __time(,Var)
ApiTestConfig.globalVariableMap.put(paramList[ 1], String.valueOf(now));
}
if (paramList[ 0].equals( "/1000")){
String value = String.valueOf(now / 1000);
// __time(/1000,Var)或 __time(/1000,)
if (paramList.length == 2){
ApiTestConfig.globalVariableMap.put(paramList[ 1], value);
}
return value;
}
// __time(yyyy-MM-dd,)或__time(yyyy-MM-dd,Var),包含其他各种日期格式
SimpleDateFormat sdf = new SimpleDateFormat(paramList[ 0]);
String value = sdf.format( new Date(now));
if (paramList.length == 2){
ApiTestConfig.globalVariableMap.put(paramList[ 1], value);
}
return value;
}
return key;
}
- End -
- 软件测试君 -
我们只研究那些
你感兴趣的技术
喜欢我们就长按下方图片扫码关注吧
· 猜你喜欢的文章 ·
▼
作者@简单随风
编辑@糖小幽
图片@来源于网络
商务合作请联系微信:sofeicoffee
以上是关于接口测试平台:支持函数助手的主要内容,如果未能解决你的问题,请参考以下文章