【问题标题】:Pass JMeter property value generated by JSR233 sampler to new request将 JSR233 采样器生成的 JMeter 属性值传递给新请求
【发布时间】:2019-10-14 23:37:26
【问题描述】:

带有 Beanshell 的 JSR233 采样器用于将 xml 文件转换为编码字符串,并且该值正在 Jmeter 控制台中打印。能够使用 JMeter 属性在同一个采样器中提取值,但无法对新请求使用相同的变量,它会变为 null/void。

测试计划如下:

  1. .jar 文件在 TestPlan>classpath 下配置(浏览了 jar 文件),其中定义了所有编码方法

  2. 添加线程组>JSR233 采样器

  3. JMeter 控制台上正在打印变量值“a”和属性值“storeid”,JMeter 也成功记录为“storeid value is :abcdefxcfdfd”。

  4. 当尝试使用此 'storeid' 或 'a' 值到下一个 http 请求时(例如:路径:${__property(storeid)}),它会变为 null 或尝试使用 ${a}。

    李>
  5. 还尝试了 vars.get 和 vars.put,在这种情况下,值变为 void。

如何让这个变量值传递给下一个请求?

【问题讨论】:

    标签: jmeter jsr223


    【解决方案1】:

    如果你想设置属性使用props

    props.put("storeid", a);
    

    不要在 JSR223 脚本中使用 ${ 语法

    【讨论】:

    • 非常感谢,能够使用上述方法成功获取值。虽然它可能与它无关,但在获取会话 cookie 时面临另一个问题 - 该值在 Debug Sampler 下打印为 COOKIE_JSEID 并尝试将该值作为 ${COOKIE_JSEID} 获取,但未捕获该值。请提出建议。
    • @la1 我看到已经有问题了stackoverflow.com/questions/56348575/…
    • 是的,我已经发布了这个问题,但我自己无法在这方面取得太大进展。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-03
    • 1970-01-01
    • 2021-05-01
    • 1970-01-01
    • 2019-02-25
    • 2022-11-28
    相关资源
    最近更新 更多