概述
ReplaceStringWithFunctions,顾名思义,是将字符串转换为function。
ReplaceStringWithFunctions类继承AbstractTransformer类。
AbstractTransformer类有两个成员变量
代码语言:txt复制 // 参数替换的处理类
private CompoundVariable masterFunction;
// 存放变量的类
private Map<String, String> variables
ReplaceStringWithFunctions源码分析
构造函数
代码语言:txt复制 public ReplaceStringWithFunctions(CompoundVariable masterFunction, Map<String, String> variables) {
super();
// 调用父类的两个方法
setMasterFunction(masterFunction);
setVariables(variables);
}
transformValue
执行变量和内置函数转换功能
代码语言:txt复制 public JMeterProperty transformValue(JMeterProperty prop) throws InvalidVariableException {
JMeterProperty newValue = prop;
// 清除CompoundVariable类的数据
getMasterFunction().clear();
// 参数替换操作
getMasterFunction().setParameters(prop.getStringValue());
// 包含变量参数或者内置函数
if (getMasterFunction().hasFunction()) {
newValue = new FunctionProperty(prop.getName(), getMasterFunction().getFunction());
}
return newValue;
}