【问题标题】:Assigning value to the variable based on the request根据请求为变量赋值
【发布时间】:2020-09-07 21:09:04
【问题描述】:

我已经创建了一个如下的 jmeter 脚本

我使用function __P() 的用户定义变量并从.sh 文件传递​​Url

我的要求是,如果传递的url是“www.abc.com”,那么将变量${Prefix}的值设置为“foo”,否则设置为“bar”

我尝试使用 JSR223 PostProcessor,但 JSR223 PostProcessor 必须有一个与之关联的样本。 有什么建议我该如何实现?

【问题讨论】:

    标签: jmeter


    【解决方案1】:

    HTTP Request 采样器中直接使用以下__groovy() function

    ${__groovy(if (vars.get('Url') == 'www.abc.com') {return 'foo'} else {return 'bar'},Prefix)}
    

    对于后续请求(运行 __groovy() 函数后),您将能够只使用 ${Prefix}

    更多信息:Apache Groovy - Why and How You Should Use It

    如果您对 Groovy 脚本不太熟悉,可以考虑使用__if() function,它是Custom JMeter Functions 捆绑包的一部分,可以使用JMeter Plugins Manager 进行安装

    【讨论】:

    • 嗨@Dmitri T 感谢您的回复。 Groovy 功能​​有效。我正在参数化请求并从 csv 文件中提取所有请求的列表。所以,我相信,在这种情况下,从第二个请求开始,它不会再次执行 groovy 函数,而是使用在第一个请求中评估的 ${Prefix} 值,对吧?另外,如果我在这种情况下使用 __if() 函数,你能举个例子吗?再次感谢您的解决方案。
    • 嗨@dmitri 感谢您的回复。 Groovy 功能​​有效。我正在参数化请求并从 csv 文件中提取所有请求的列表。所以,我相信,在这种情况下,从第二个请求开始,它不会再次执行 groovy 函数,而是使用在第一个请求中评估的 ${Prefix} 值,对吧?另外,如果我在这种情况下使用 __if() 函数,你能举个例子吗?再次感谢您的解决方案。
    猜你喜欢
    • 2020-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-07
    • 2016-05-29
    • 2015-02-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多