You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@jmeter.apache.org by Raja Miah <ra...@talk21.com.INVALID> on 2022/05/05 12:07:31 UTC
java.lang.NumberFormatException: For input string
hi
I think I am probably overlooking something simple here and would
appreciate any help...
- Using Jmeter 5.4
- Script should:
> pick a random number between two given numbers (lower and higher
> limit)
> Use this random number to produce a random string
The script is placed in a JSR223 sampler:
//Set a random nummber between 500-1000 for message length
MESSAGE_LENGTH = ${__Random(500,1000)}
log.info("################## MESSAGE_LENGTH : " + MESSAGE_LENGTH)
//Generate a random string which uses the message length from above
String msg =
${__RandomString('MESSAGE_LENGTH',abcdefghijklmnopqrstuvwxyz)}
log.info("################## myLength : " + msg)
I get the following output in the logs:
2022-05-05 12:59:03,377 INFO o.a.j.e.StandardJMeterEngine: Running the
test!
2022-05-05 12:59:03,378 INFO o.a.j.s.SampleEvent: List of
sample_variables: []
2022-05-05 12:59:03,378 ERROR o.a.j.JMeter: Uncaught exception in thread
Thread[StandardJMeterEngine,6,main]
java.lang.NumberFormatException: For input string: "'MESSAGE_LENGTH'"
at java.lang.NumberFormatException.forInputString(Unknown Source)
~[?:1.8.0_291]
at java.lang.Integer.parseInt(Unknown Source) ~[?:1.8.0_291]
at java.lang.Integer.parseInt(Unknown Source) ~[?:1.8.0_291]
at
org.apache.jmeter.functions.RandomString.execute(RandomString.java:74)
~[ApacheJMeter_functions.jar:5.4]
at
org.apache.jmeter.engine.util.CompoundVariable.execute(CompoundVariable.java:138)
~[ApacheJMeter_core.jar:5.4]
at
org.apache.jmeter.engine.util.CompoundVariable.execute(CompoundVariable.java:113)
~[ApacheJMeter_core.jar:5.4]
at
org.apache.jmeter.testelement.property.FunctionProperty.getStringValue(FunctionProperty.java:91)
~[ApacheJMeter_core.jar:5.4]
at
org.apache.jmeter.testbeans.TestBeanHelper.unwrapProperty(TestBeanHelper.java:129)
~[ApacheJMeter_core.jar:5.4]
at
org.apache.jmeter.testbeans.TestBeanHelper.prepare(TestBeanHelper.java:84)
~[ApacheJMeter_core.jar:5.4]
at
org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfStart(StandardJMeterEngine.java:202)
~[ApacheJMeter_core.jar:5.4]
at
org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:382)
~[ApacheJMeter_core.jar:5.4]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_291]
Thank you in advance.
Raja
RE: java.lang.NumberFormatException: For input string
Posted by Raja <ra...@talk21.com.INVALID>.
That worked, thank you for the correction and the useful links for me to read up on.
Kind regards
Raja
-----Original Message-----
From: Dmitri T <gl...@live.com>
Sent: 05 May 2022 13:15
To: user@jmeter.apache.org
Subject: Re: java.lang.NumberFormatException: For input string
Don't inline JMeter Functions or Variables <https://jmeter.apache.org/usermanual/functions.html> into Groovy scripts, either use "Parameters" section or go for code-based equivalents.
An one-liner which does the same:
String msg =
org.apache.commons.lang3.RandomStringUtils.randomAlphabetic(org.apache.commons.lang3.RandomUtils.nextInt(500,
1000))
More information:
* The Groovy Templates Cheat Sheet for JMeter
<https://www.blazemeter.com/blog/the-groovy-templates-cheat-sheet-for-jmeter>
* JSR223 Sampler Documentation
<https://jmeter.apache.org/usermanual/component_reference.html#JSR223_Sampler>,
pay special attention to the chapter:
/When using this feature, ensure your script code does not use
JMeter variables or JMeter function calls directly in script code as
caching would only cache first replacement. Instead use script
parameters./
On 5/5/2022 2:07 PM, Raja Miah wrote:
>
> hi
>
>
> I think I am probably overlooking something simple here and would
> appreciate any help...
>
>
> - Using Jmeter 5.4
>
> - Script should:
>
> > pick a random number between two given numbers (lower and higher
> limit)
>
> > Use this random number to produce a random string
>
>
> The script is placed in a JSR223 sampler:
>
>
> //Set a random nummber between 500-1000 for message length
>
> MESSAGE_LENGTH = ${__Random(500,1000)}
>
> log.info("################## MESSAGE_LENGTH : " + MESSAGE_LENGTH)
>
>
> //Generate a random string which uses the message length from
> above
>
> String msg =
> ${__RandomString('MESSAGE_LENGTH',abcdefghijklmnopqrstuvwxyz)}
>
> log.info("################## myLength : " + msg)
>
>
>
> I get the following output in the logs:
>
>
> 2022-05-05 12:59:03,377 INFO o.a.j.e.StandardJMeterEngine: Running
> the test!
>
> 2022-05-05 12:59:03,378 INFO o.a.j.s.SampleEvent: List of
> sample_variables: []
>
> 2022-05-05 12:59:03,378 ERROR o.a.j.JMeter: Uncaught exception in
> thread Thread[StandardJMeterEngine,6,main]
>
> java.lang.NumberFormatException: For input string: "'MESSAGE_LENGTH'"
>
> at java.lang.NumberFormatException.forInputString(Unknown Source)
> ~[?:1.8.0_291]
>
> at java.lang.Integer.parseInt(Unknown Source) ~[?:1.8.0_291]
>
> at java.lang.Integer.parseInt(Unknown Source) ~[?:1.8.0_291]
>
> at
> org.apache.jmeter.functions.RandomString.execute(RandomString.java:74)
> ~[ApacheJMeter_functions.jar:5.4]
>
> at
> org.apache.jmeter.engine.util.CompoundVariable.execute(CompoundVariable.java:138)
> ~[ApacheJMeter_core.jar:5.4]
>
> at
> org.apache.jmeter.engine.util.CompoundVariable.execute(CompoundVariable.java:113)
> ~[ApacheJMeter_core.jar:5.4]
>
> at
> org.apache.jmeter.testelement.property.FunctionProperty.getStringValue(FunctionProperty.java:91)
> ~[ApacheJMeter_core.jar:5.4]
>
> at
> org.apache.jmeter.testbeans.TestBeanHelper.unwrapProperty(TestBeanHelper.java:129)
> ~[ApacheJMeter_core.jar:5.4]
>
> at
> org.apache.jmeter.testbeans.TestBeanHelper.prepare(TestBeanHelper.java:84)
> ~[ApacheJMeter_core.jar:5.4]
>
> at
> org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfStart(StandardJMeterEngine.java:202)
> ~[ApacheJMeter_core.jar:5.4]
>
> at
> org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:382)
> ~[ApacheJMeter_core.jar:5.4]
>
> at java.lang.Thread.run(Unknown Source) [?:1.8.0_291]
>
>
>
> Thank you in advance.
>
>
> Raja
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:user-unsubscribe@jmeter.apache.org
> For additional commands, e-mail:user-help@jmeter.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@jmeter.apache.org
For additional commands, e-mail: user-help@jmeter.apache.org
Re: java.lang.NumberFormatException: For input string
Posted by Dmitri T <gl...@live.com>.
Don't inline JMeter Functions or Variables
<https://jmeter.apache.org/usermanual/functions.html> into Groovy
scripts, either use "Parameters" section or go for code-based equivalents.
An one-liner which does the same:
String msg =
org.apache.commons.lang3.RandomStringUtils.randomAlphabetic(org.apache.commons.lang3.RandomUtils.nextInt(500,
1000))
More information:
* The Groovy Templates Cheat Sheet for JMeter
<https://www.blazemeter.com/blog/the-groovy-templates-cheat-sheet-for-jmeter>
* JSR223 Sampler Documentation
<https://jmeter.apache.org/usermanual/component_reference.html#JSR223_Sampler>,
pay special attention to the chapter:
/When using this feature, ensure your script code does not use
JMeter variables or JMeter function calls directly in script code as
caching would only cache first replacement. Instead use script
parameters./
On 5/5/2022 2:07 PM, Raja Miah wrote:
>
> hi
>
>
> I think I am probably overlooking something simple here and would
> appreciate any help...
>
>
> - Using Jmeter 5.4
>
> - Script should:
>
> > pick a random number between two given numbers (lower and higher
> limit)
>
> > Use this random number to produce a random string
>
>
> The script is placed in a JSR223 sampler:
>
>
> //Set a random nummber between 500-1000 for message length
>
> MESSAGE_LENGTH = ${__Random(500,1000)}
>
> log.info("################## MESSAGE_LENGTH : " + MESSAGE_LENGTH)
>
>
> //Generate a random string which uses the message length from above
>
> String msg =
> ${__RandomString('MESSAGE_LENGTH',abcdefghijklmnopqrstuvwxyz)}
>
> log.info("################## myLength : " + msg)
>
>
>
> I get the following output in the logs:
>
>
> 2022-05-05 12:59:03,377 INFO o.a.j.e.StandardJMeterEngine: Running
> the test!
>
> 2022-05-05 12:59:03,378 INFO o.a.j.s.SampleEvent: List of
> sample_variables: []
>
> 2022-05-05 12:59:03,378 ERROR o.a.j.JMeter: Uncaught exception in
> thread Thread[StandardJMeterEngine,6,main]
>
> java.lang.NumberFormatException: For input string: "'MESSAGE_LENGTH'"
>
> at java.lang.NumberFormatException.forInputString(Unknown Source)
> ~[?:1.8.0_291]
>
> at java.lang.Integer.parseInt(Unknown Source) ~[?:1.8.0_291]
>
> at java.lang.Integer.parseInt(Unknown Source) ~[?:1.8.0_291]
>
> at
> org.apache.jmeter.functions.RandomString.execute(RandomString.java:74)
> ~[ApacheJMeter_functions.jar:5.4]
>
> at
> org.apache.jmeter.engine.util.CompoundVariable.execute(CompoundVariable.java:138)
> ~[ApacheJMeter_core.jar:5.4]
>
> at
> org.apache.jmeter.engine.util.CompoundVariable.execute(CompoundVariable.java:113)
> ~[ApacheJMeter_core.jar:5.4]
>
> at
> org.apache.jmeter.testelement.property.FunctionProperty.getStringValue(FunctionProperty.java:91)
> ~[ApacheJMeter_core.jar:5.4]
>
> at
> org.apache.jmeter.testbeans.TestBeanHelper.unwrapProperty(TestBeanHelper.java:129)
> ~[ApacheJMeter_core.jar:5.4]
>
> at
> org.apache.jmeter.testbeans.TestBeanHelper.prepare(TestBeanHelper.java:84)
> ~[ApacheJMeter_core.jar:5.4]
>
> at
> org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfStart(StandardJMeterEngine.java:202)
> ~[ApacheJMeter_core.jar:5.4]
>
> at
> org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:382)
> ~[ApacheJMeter_core.jar:5.4]
>
> at java.lang.Thread.run(Unknown Source) [?:1.8.0_291]
>
>
>
> Thank you in advance.
>
>
> Raja
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:user-unsubscribe@jmeter.apache.org
> For additional commands, e-mail:user-help@jmeter.apache.org