如何在Jmeter中获取字符串长度并细分用户定义的变量

时间:2018-10-17 07:35:49

标签: testing split jmeter

我用以下名称定义一个用户定义变量:

message_title: "Test searching by title message"

然后,我需要运行一个测试用例,其中输入是上述变量的子字符串,例如:“搜索”或“标题”。

我使用了一个用户参数,并定义了2个名称为变量的变量:

len : ${__strLen(${message_title})}

middle_search: ${__substring(${message_title}, 5, ${__intSum(${len},-5)})}

但是当我运行测试用例时,它会引发错误:

51错误-jmeter.threads.JMeterThread:测试失败! java.lang.NumberFormatException:对于输入字符串:“ $ {__ strLen($ {message_title})}。...

如何获取长度和用户定义变量的子字符串?

谢谢

2 个答案:

答案 0 :(得分:0)

对于我适合的长度,我将结果存储在 len 变量中:

  

$ {{__strLen($ {message_title},len)}

然后:

  

$ {{__substring($ {message_title},5,$ {__intSum($ {len},-5)},)}

答案 1 :(得分:0)

根据User Defined Variables文档:

  

UDV从上到下按照在计划中出现的顺序进行处理。

因此您基本上可以使用2个用户定义变量实例

  1. 将用户定义的变量#1添加到测试计划中,并在其中定义以下变量:

    • message_title = Test searching by title message
    • len-${__strLen(message_title,)}

      JMeter User Defined Variables 1

  2. 将用户定义的变量#2添加到测试计划中,并在其中定义以下变量:

    • middle_search = ${__substring(${message_title},5,${__intSum(${len},-5)},)}

      JMeter User Defined Variables 2

  3. 就是这样,您应该能够访问Thread Group(s)

    中的已定义变量

    JMeter Useer Defined Variables Values

以防万一,请查看Using User Defined Variables文章,以了解有关用户定义变量概念的更多信息。