JMeter5.1核心类ReplaceStringWithFunctions源码分析

2021-12-03 16:53:07 浏览数 (1)

概述

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;
    }

0 人点赞