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