首页 > 解决方案 > 如何以编程方式将变量添加到 JMeter 脚本

问题描述

我正在将 Postman 集合迁移到 jMeter。我导入 Postman 集合本身没有问题,但变量是问题所在。我的 Postman 收藏严重依赖它们。我可以从 Postman 导出变量,但找不到导入它们的方法。我还需要在导入时应用一些逻辑。我正在考虑编写 Java 代码以将 Postman 变量导入 jMeter。似乎包含变量的 jMeter 类是 ValueReplacer,我知道如何将变量添加到 ValueReplacer,但找不到将填充的 ValueReplacer 添加到测试计划并保存它的方法。

我加载测试计划的代码:

    StandardJMeterEngine standardJMeterEngine = new StandardJMeterEngine();
    JMeterUtils.loadJMeterProperties(jMeterHome + "/bin/jmeter.properties");
    JMeterUtils.setJMeterHome(jMeterHome);
    JMeterUtils.initLocale();
    HashTree testPlanTree = SaveService.loadTree(new File(jMeterScript));
    standardJMeterEngine.configure(testPlanTree);
    ValueReplacer valueReplacer = geterateValueReplacer(new File(postmanExportedVariables));
    // add valueReplacer to testPlanTree  and save

所以我能够加载脚本并生成 ValueReplacer。有没有办法将 valueReplacer 对象添加到脚本并保存?

标签: javajmeter

解决方案


您不需要显式调用 ValueReplacer 类,如果您想从 Java 代码运行现有的 JMeter 测试计划,只需确保 JMeter 变量只是通过用户定义的变量在各自的位置声明或来自后处理器

因此,如果您在用户定义的变量中foo使用 的值声明变量:bar

在此处输入图像描述

您可以${foo}在需要时引用它:

在此处输入图像描述

如果您从 Java 代码运行 JMeter 测试,JMeter 将在运行时评估变量并解析它们的值。


推荐阅读