You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@jmeter.apache.org by Dan Tripp <do...@yahoo.com> on 2008/04/11 02:15:04 UTC
Understanding How to Twiddle Values in JMeter
Howdy All,
I'm trying to perform some simple calculations with data I've extracted using an HTTP sampler and the Regular Expression Extractor. I have no problem getting the values I need/want/expect from the Regex, but I can't seem to add numbers together, and I can't seem to figure out *WHERE* the calculations should go.
The simplest sample I've come up with looks like this:
Test Plan
+ Thread Group
- User Defined Variables
- Debug Sampler
- View Results Tree
Workbench
In User Defined Variables, I have:
Name Value
====== ================================
var1 __eval(30 + 6)
var2 ${__eval(30 + 6)}
var3 10 / 4
var4 ${__eval(10 / 4)}
var5 ${__time(YMD)}
column uname
table users
sql SELECT ${column} FROM ${table}
The output I see from the Debug Sampler is NOT what I'd expect:
var1 = __eval(30 + 6)
var2 = ${__eval(30 + 6)}
- I was hoping to get "36"
var3 = 10 / 4
var4 = ${__eval(10 / 4)}
- I was hoping to get "2"
var5 = ${__time(YMD)}
- I was hoping to get "20080410"
column = uname
table = users
sql = SELECT ${column} FROM ${table}
I was hoping to get "SELECT uname FROM users"
It may be the case that User Defined Variables is just a convenience component which makes it easier to define variables than it would be to import them from a text file and that my use of this component is wayward/errant. However, I don't know where the heck to put this stuff if this is the wrong place.
Further, I don't seem to be able to get the expected values when I put these types of expressions in other components... UNLESS I put them in the title. The ${__time(YMD)} works great if I put it in a COMPONENT LABEL (ie.- I name that component "Today is ${__time(YMD)}" I'll see "Today is 20080410" in the results), but doesn't want to do what I'm expecting when I stick it anywhere else. That makes absolutely no sense to me. How/what am I not understanding?
I'd greatly appreciate any guidance/ pointers/ references to anything that'll help me accomplish this.
Regards,
- Dan
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
Re: Understanding How to Twiddle Values in JMeter
Posted by sebb <se...@gmail.com>.
On 11/04/2008, Dan Tripp <do...@yahoo.com> wrote:
> Howdy All,
>
> I'm trying to perform some simple calculations with data I've extracted using an HTTP sampler and the Regular Expression Extractor. I have no problem getting the values I need/want/expect from the Regex, but I can't seem to add numbers together, and I can't seem to figure out *WHERE* the calculations should go.
>
> The simplest sample I've come up with looks like this:
>
> Test Plan
> + Thread Group
> - User Defined Variables
> - Debug Sampler
> - View Results Tree
> Workbench
>
> In User Defined Variables, I have:
>
> Name Value
> ====== ================================
> var1 __eval(30 + 6)
__eval() does not evaluate numeric expressions.
You can use intSum() for adding/subtracting numbers, otherwise use Jexl.
> var2 ${__eval(30 + 6)}
> var3 10 / 4
> var4 ${__eval(10 / 4)}
> var5 ${__time(YMD)}
> column uname
> table users
> sql SELECT ${column} FROM ${table}
>
> The output I see from the Debug Sampler is NOT what I'd expect:
>
> var1 = __eval(30 + 6)
> var2 = ${__eval(30 + 6)}
> - I was hoping to get "36"
>
> var3 = 10 / 4
> var4 = ${__eval(10 / 4)}
> - I was hoping to get "2"
>
> var5 = ${__time(YMD)}
> - I was hoping to get "20080410"
>
> column = uname
> table = users
> sql = SELECT ${column} FROM ${table}
> I was hoping to get "SELECT uname FROM users"
UDV variables are not defined until the entire element has been processed.
If you put sql in a separate UDV it should work.
> It may be the case that User Defined Variables is just a convenience component which makes it easier to define variables than it would be to import them from a text file and that my use of this component is wayward/errant. However, I don't know where the heck to put this stuff if this is the wrong place.
>
> Further, I don't seem to be able to get the expected values when I put these types of expressions in other components... UNLESS I put them in the title. The ${__time(YMD)} works great if I put it in a COMPONENT LABEL (ie.- I name that component "Today is ${__time(YMD)}" I'll see "Today is 20080410" in the results), but doesn't want to do what I'm expecting when I stick it anywhere else. That makes absolutely no sense to me. How/what am I not understanding?
It should work almost anywhere.
>
> I'd greatly appreciate any guidance/ pointers/ references to anything that'll help me accomplish this.
>
> Regards,
>
>
> - Dan
>
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-user-help@jakarta.apache.org