Dear Praveen and JMeter Users:

This approach works for me when trouble-shooting a regular expression in JMeter:

1. Check the regular expression with a regular expression tester. This provides 
a test independent of JMeter. Rewrite the regular expression, if needed.

2. In the Regular Expression Extractor, check for interactions between the 
Template parameter and the Match No. parameter. There is more than one way to 
extract the same string, and some ways are simpler than others.

The Match No. parameter controls whether JMeter stores a particular match or 
all matches. If set to a positive integer, JMeter stores the particular match 
(1, 2, ...) and its groups in a set of predefined variables. The whole match is 
stored in refname_g0. The first group is stored in refname_g1, the second group 
in refname_g2, and so on.

However, if the Match No. parameter set to a negative number like -1, JMeter 
stores all matches and groups, and stores them in a different set of predefined 
variables (refName_matchNr, refName_n, refName_n_gn ...). For example, the 
second whole match's third group would be stored in refName_2_g3.

In the Template parameter, the predefined variable $0$ sets the value of the 
variable to the whole match. The predefined variables ($1$, $2$, $3$, ...) can 
set to variable to groups in the match. You can also put arbitrary strings in 
the Template parameter, as Praveen did with "CONSTANT".

Here is example of an interaction that might not give you the result you would 
want. Define a Regular Expression Extractor as follows:

Reference Name: Result
Regular Expression: (Go)(ogle)
Template: $0$
Match No.: -1
Default Value: NoResult

The value of ${Result} is "NoResult". If Match No. is set to -1, you must use 
the one of the "all matches" predefined variables to get the first whole match: 
Result_1 (refName_n).

The new user manual and new help with JMeter 2.0.2 are improved from version 
2.0.1.

3. Check the variable values while the test plan is running.

Here is a quote from our internal JMeter documentation for testers:
----------------------------
Checking variables while test plan runs (JMeter)
Problem
You want to check that variables have the expected values while JMeter runs the 
test plan. The variables could be defined in an element (User Defined Variables 
element, User Parameters element, Regular Expression Extractor element) or by a 
function (__regexFunction). A variable value could be hard-coded, constructed 
from one or more variable values, or extracted from an HTTP response by a 
regular expression.
Solution
To display a variable value while a test plan is running, follow these steps.
1.      Add a Java Request element (a Sampler) to the test plan after the point 
in the test plan where the variable is defined by an element or a function.
2.      In the Java Request, do the following:
a.      Set the Label parameter to display the variable name and variable 
value. For example:
        MyVariable: ${MyVariable}
b.      Set the Status parameter to "OK" or "FAIL".
        "OK" allows the test plan execution to continue.
        "FAIL" forces test plan execution to stop.
3       Add a View Results in Table element (a Listener) to the test plan.
4.      Run the test plan.
        The View Results in Table element displays the Java Request response 
with the variable name and variable value.
----------------------------

Might a "How can I trouble-shoot a regular expression in JMeter?" topic be a 
useful addition to the FAQ?

Sincerely yours,

Kyle

-----Original Message-----
From: praveen [mailto:[EMAIL PROTECTED]
Sent: Tuesday, November 23, 2004 1:05 PM
To: JMeter Users List
Subject: nesting constants/variables between two groups in template


I have a regex 

(rex1)(rex2)(rex3)

The template looks like

$1$CONSTANT$3$


But the result I see is: 

$1$$2$CONSTANT

Even if I replace the CONSTANT with some variable, the same thing happens. 

I am using 2.1.20041011 (build from src). Is it a bug or am I doing
something wrong?

thanks

-- 
                                     k.p.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to