【问题标题】:Blazemeter is not replacing JMeter propertyBlazemeter 没有取代 JMeter 属性
【发布时间】:2021-08-13 19:57:54
【问题描述】:

我有一个 JMeter 脚本,其中我使用配置元素“用户定义的变量”定义了一些变量

当我在本地使用 ${host} 时,例如在请求中它工作正常。我将此脚本上传到 Blazemeter 并启用了属性覆盖:

但是,当我在 Blazemeter 中运行测试时,新主机值根本没有被替换。我在这里做错了什么还是我误读了这个功能应该如何在 Blazemeter 中工作?

【问题讨论】:

    标签: jmeter blazemeter


    【解决方案1】:

    当您在用户定义变量组件中定义变量时,您可以使用${VariableName} 访问它们,因为它们充当JMeter variables

    当您在 Blazemeter 中定义变量时,它们充当 JMeter 属性。您可以使用${__P(PropertyName,)} 访问JMeter properties。您不能使用${VariableName} 访问。 JMeter 属性。

    例如 ${__P(host,)} 在你的情况下

    您可以通过读取属性并将它们分配给用户定义变量组件中的现有 JMeter 变量来继续使用现有脚本

    您可以为属性${__P(host,defaultHost)} 设置默认值。该脚本将继续在本地环境和 Blazemeter 上运行。

    参考资料: JMeter Properties User Defined Variables

    【讨论】:

      【解决方案2】:

      我看不到您“定义”变量的位置,即我看到的是名称,而不是值。

      为了引用您通过 BlazeMeter 负载测试配置的 JMeter Properties 部分提供的值,您需要在测试计划中使用 __P()__property() 函数,例如:

      这样你就可以override the properties locally using -J command line argument点赞:

      jmeter -Jhost=some-host -n -t test.jmx
      

      并使用 BlazeMeter 的 Jmeter Properties 部分执行相同操作。

      更多信息:Apache JMeter Properties Customization Guide

      【讨论】:

        猜你喜欢
        • 2018-07-30
        • 1970-01-01
        • 1970-01-01
        • 2019-09-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-24
        • 1970-01-01
        相关资源
        最近更新 更多