Ok one slight problem,
I have my test plan like this
Thread Group
|
|--Request
|----Reg Ex
|----For Each
|-----debug sampler
So, when I remove debug sampler, and in my jmeter property i have
sample_variables=pi(which is the variable I used in output variable name)
it saves null in my txt file and no other extracted values are saved.
and when I have debug sampler under for each, it saves null first and all
the extracted value from regex.
Its not a big issue i can just delete the null but just curious why is it
happening
On Wed, Aug 28, 2013 at 6:42 AM, umesh prajapati <[email protected]>wrote:
> I got the solution Manish. in my jmeter property I had to use sample
> variable = the variable you used in output variable name.
>
>
> On Wed, Aug 28, 2013 at 6:23 AM, umesh prajapati <[email protected]>wrote:
>
>> Thank you Manish, I get the idea of how to you for each in conjuction
>> with reg ex but I would like to save the each extracted value from the
>> response. For example in your tutorial, you have extracted 1234, 12345.
>> (account numbers)
>>
>> So I would like to save those into a txt file as below
>> 1234
>> 12345
>>
>>
>> On Tue, Aug 27, 2013 at 11:25 PM, Manish Sapariya <[email protected]>wrote:
>>
>>> Hi Umesh,
>>> I think ForEach controller is what you need.
>>>
>>>
>>> http://jmeter.apache.org/usermanual/component_reference.html#ForEach_Controller
>>>
>>> I have a screencast to demonstrate how to use ForEach controller with
>>> regex
>>> to extract list of values.
>>>
>>>
>>> http://my.kpoint.com/kapsule/gcc-1dadaeee-1572-4c83-81fc-8d401cade743/t/multivalue-regex-jmeter-tutorial
>>>
>>> Hope its useful. Do let me know if you something could have been added to
>>> the screencast.
>>>
>>> Thanks and Regards,
>>> Manish
>>> kPoint wins *Global eLearning
>>> Award<
>>> http://www.kpoint.com/kpoint-wins-learntech-global-e-learning-award/>
>>> * in “Learning Technologies Solution”!
>>>
>>>
>>> On Wed, Aug 28, 2013 at 6:03 AM, umesh prajapati <[email protected]
>>> >wrote:
>>>
>>> > or What is the other way of saving them beside sample_variable feature
>>> >
>>> >
>>> > On Tue, Aug 27, 2013 at 5:29 PM, umesh prajapati <[email protected]
>>> > >wrote:
>>> >
>>> > > Thank you for the tips ".*?"
>>> > >
>>> > > So, where can I defind username_n. so I dont have to write
>>> username_1,
>>> > > username_2.............................username_500 (500 times)
>>> > >
>>> > >
>>> > > On Tue, Aug 27, 2013 at 5:16 PM, sebb <[email protected]> wrote:
>>> > >
>>> > >> On 28 August 2013 01:03, umesh prajapati <[email protected]>
>>> wrote:
>>> > >> > Hi Sebb,
>>> > >> >
>>> > >> > I see what Regular expression was doing.
>>> > >> >
>>> > >> > For example, lets say i have the following response:
>>> > >> >
>>> > >> >
>>> > >>
>>> >
>>> <ns10:UserRowId="1"><ns6:UserId>ffffffff521cf326e4b05c028a28007d</ns6:UserId><ns6:FirstName>1aug2713</ns6:FirstName><ns6:LastName>1aug2713</ns6:LastName><ns6:Gender>Unspecified</ns6:Gender><ns6:UserName>1aug2713</ns6:UserName><ns6:Password>password1</ns6:Password><ns6:EncryptionType>SHA</ns6:EncryptionType><ns6:AuthenticationType>SSO</ns6:AuthenticationType><ns6:BusinessRuleSet>CG</ns6:BusinessRuleSet><ns6:AutoGenerated>false</ns6:AutoGenerated></ns10:User>
>>> > >> >
>>> > >>
>>> >
>>> <ns10:UserRowId="2"><ns6:UserId>ffffffff521cf326e4b05c028a28007e</ns6:UserId><ns6:FirstName>2aug2713</ns6:FirstName><ns6:LastName>2aug2713</ns6:LastName><ns6:Gender>Unspecified</ns6:Gender><ns6:UserName>2aug2713</ns6:UserName><ns6:Password>password1</ns6:Password><ns6:EncryptionType>SHA</ns6:EncryptionType><ns6:AuthenticationType>SSO</ns6:AuthenticationType><ns6:BusinessRuleSet>CG</ns6:BusinessRuleSet><ns6:AutoGenerated>false</ns6:AutoGenerated></ns10:User>
>>> > >> >
>>> > >>
>>> >
>>> <ns10:UserRowId="3"><ns6:UserId>ffffffff521cf326e4b05c028a28007f</ns6:UserId><ns6:FirstName>3aug2713</ns6:FirstName><ns6:LastName>3aug2713</ns6:LastName><ns6:Gender>Unspecified</ns6:Gender><ns6:UserName>3aug2713</ns6:UserName><ns6:Password>password1</ns6:Password><ns6:EncryptionType>SHA</ns6:EncryptionType><ns6:AuthenticationType>SSO</ns6:AuthenticationType><ns6:BusinessRuleSet>CG</ns6:BusinessRuleSet><ns6:AutoGenerated>false</ns6:AutoGenerated></ns10:User>
>>> > >> >
>>> > >> > My Regular expression extractor is as follow:
>>> > >> > Reference Name: username
>>> > >> > Regular Expression:
>>> > >> > <ns6:UserId>(.+?)</ns6:UserId>.*<ns6:UserName>(.+?)</ns6:UserName>
>>> > >>
>>> > >> The ".*" in the middle of the RE is greedy; it will match as much as
>>> > >> possible.
>>> > >> Use ".*?" instead.
>>> > >>
>>> > >> > Template: $1$ $2$
>>> > >> > Match No.= 1
>>> > >> >
>>> > >> >
>>> > >> > The value that is being saved on my txt file that I mentioned is
>>> like
>>> > >> this.
>>> > >> >
>>> > >> > ffffffff521cf326e4b05c028a28007d,3aug2713
>>> > >> >
>>> > >> > So, it is saving the first userId and the last Username.
>>> > >>
>>> > >> See above; the RE has a greedy middle.
>>> > >>
>>> > >> > When I tried -1, on my txt file it is saving null.
>>> > >> >
>>> > >> > Just to do some more research on it, I changed my regular
>>> expression
>>> > as
>>> > >> > below and I also added debug sampler
>>> > >> > Reference Name: username
>>> > >> > Regular Expression: <ns6:UserId>(.+?)</ns6:UserId
>>> > >> > Template: $1$
>>> > >> > Match No.= -1
>>> > >> >
>>> > >> > When I look at debug Sampler Response data with above
>>> configuration I
>>> > >> see
>>> > >> > it is extracting all three UserId and I changed the
>>> jmeter.property
>>> > >> file as
>>> > >> > sample_variables=username_1,username_2,username_3
>>> > >> > This let me save all 3 userId in a file i have mentioned. But the
>>> > issue
>>> > >> is
>>> > >> > If i have 500 UserId, do I have to mention all 500 in property
>>> file.
>>> > >>
>>> > >> Yes, if you want to save them using the sample_variables feature.
>>> > >>
>>> > >> > I have tried sample_variables=username_n but the value that got
>>> saved
>>> > >> in a file is null.
>>> > >>
>>> > >> Yes, because the variable username_n is not defined.
>>> > >>
>>> > >> > JMeterVariables:
>>> > >> > JMeterThread.last_sample_ok=true
>>> > >> > JMeterThread.pack=org.apache.jmeter.threads.SamplePackage@1ed2e55e
>>> > >> > START.HMS=163623
>>> > >> > START.MS=1377646583923
>>> > >> > START.YMD=20130827
>>> > >> > TESTSTART.MS=1377647571490
>>> > >> > username_1=ffffffff521cf326e4b05c028a28007d
>>> > >> > username_1_g=1
>>> > >> >
>>> > username_1_g0=<ns6:UserId>ffffffff521cf326e4b05c028a28007d</ns6:UserId>
>>> > >> > username_1_g1=ffffffff521cf326e4b05c028a28007d
>>> > >> > username_2=ffffffff521cf326e4b05c028a28007e
>>> > >> > username_2_g=1
>>> > >> >
>>> > username_2_g0=<ns6:UserId>ffffffff521cf326e4b05c028a28007e</ns6:UserId>
>>> > >> > username_2_g1=ffffffff521cf326e4b05c028a28007e
>>> > >> > username_3=ffffffff521cf326e4b05c028a28007f
>>> > >> > username_3_g=1
>>> > >> >
>>> > username_3_g0=<ns6:UserId>ffffffff521cf326e4b05c028a28007f</ns6:UserId>
>>> > >> > username_3_g1=ffffffff521cf326e4b05c028a28007f
>>> > >> > username_matchNr=3
>>> > >> >
>>> > >> > 2n Question, I am trying to extract not only userId but the
>>> > >> corresponding
>>> > >> > Username of the UserId. So, when I have my regular expression as
>>> > below:
>>> > >> >
>>> > >> > Regular Expression:
>>> > >> > <ns6:UserId>(.+?)</ns6:UserId>.*<ns6:UserName>(.+?)</ns6:UserName>
>>> > >> >
>>> > >> > it is extracting the first userId and the last username. What
>>> would be
>>> > >> the
>>> > >> > right Reg Ex expression to extract all of them.
>>> > >>
>>> > >> See above.
>>> > >>
>>> > >> >
>>> > >> >
>>> > >> >
>>> > >> >
>>> > >> >
>>> > >> > On Tue, Aug 27, 2013 at 2:44 PM, umesh prajapati <
>>> > [email protected]
>>> > >> >wrote:
>>> > >> >
>>> > >> >> Ignore my comment about Match No = 1 because I only have one main
>>> > >> sample.
>>> > >> >>
>>> > >> >> According to Jmeter documentation:
>>> > >> >>
>>> > >> >> Indicates which match to use. The regular expression may match
>>> > multiple
>>> > >> >> times.
>>> > >> >>
>>> > >> >> - Use a value of zero to indicate JMeter should choose a
>>> match at
>>> > >> >> random.
>>> > >> >> - A positive number N means to select the nth match.
>>> > >> >> - Negative numbers are used in conjunction with the ForEach
>>> > >> controller
>>> > >> >> - see below.
>>> > >> >>
>>> > >> >> i have tried 0 and still extract the last match, I have tried 1
>>> and
>>> > >> still
>>> > >> >> extract the last match, and any number beside 1 and 0 gives null.
>>> > >> >>
>>> > >> >>
>>> > >> >> On Tue, Aug 27, 2013 at 2:14 PM, umesh prajapati <
>>> > [email protected]
>>> > >> >wrote:
>>> > >> >>
>>> > >> >>> If the match number is set to a negative number, then all the
>>> > possible
>>> > >> >>> matches in the sampler data are processed. The variables are
>>> set as
>>> > >> follows:
>>> > >> >>>
>>> > >> >>>
>>> > >> >>> - refName_matchNr - the number of matches found; could be 0
>>> > >> >>> - refName_n, where n = 1,2,3 etc - the strings as generated
>>> by
>>> > the
>>> > >> >>> template
>>> > >> >>> - refName_n_gm, where m=0,1,2 - the groups for match n
>>> > >> >>> - refName - always set to the default value
>>> > >> >>> - refName_gn - not set
>>> > >> >>>
>>> > >> >>> I am not understanding this.. an example on how to extract all
>>> > matches
>>> > >> >>> would be great
>>> > >> >>>
>>> > >> >>>
>>> > >> >>> On Tue, Aug 27, 2013 at 1:37 PM, umesh prajapati <
>>> > >> [email protected]>wrote:
>>> > >> >>>
>>> > >> >>>> So, in my case Match No. = 1 because I only have one main
>>> sample.
>>> > >> >>>>
>>> > >> >>>> But this is not extracting all 500 userId and corresponding
>>> > username
>>> > >> but
>>> > >> >>>> instead just extracting one userId and corresponding username
>>> > >> >>>>
>>> > >> >>>>
>>> > >> >>>> On Tue, Aug 27, 2013 at 1:11 PM, sebb <[email protected]>
>>> wrote:
>>> > >> >>>>
>>> > >> >>>>> On 27 August 2013 19:58, umesh prajapati <
>>> [email protected]>
>>> > >> wrote:
>>> > >> >>>>> > My response will be as below:
>>> > >> >>>>> >
>>> > >> >>>>> >
>>> > >> >>>>> >
>>> > >> >>>>>
>>> > >>
>>> >
>>> <ns10:BatchInfo><ns10:BatchId>PSN_1</ns10:BatchId></ns10:BatchInfo><ns10:BatchStatus>Complete</ns10:BatchStatus><ns10:UsersStatus="Success"Count="3">
>>> > >> >>>>> > <ns10:User
>>> > >> >>>>>
>>> > >>
>>> >
>>> RowId="1"><ns6:UserId>ffffffff521cf326e4b05c028a28007d</ns6:UserId><ns6:FirstName>1aug2713</ns6:FirstName><ns6:LastName>1aug2713</ns6:LastName><ns6:Gender>Unspecified</ns6:Gender><ns6:UserName>1aug2713</ns6:UserName><ns6:Password>password1</ns6:Password><ns6:EncryptionType>SHA</ns6:EncryptionType><ns6:AuthenticationType>SSO</ns6:AuthenticationType><ns6:BusinessRuleSet>CG</ns6:BusinessRuleSet><ns6:AutoGenerated>false</ns6:AutoGenerated></ns10:User><ns10:User
>>> > >> >>>>> >
>>> > >> >>>>>
>>> > >>
>>> >
>>> <ns10:UserRowId="2"><ns6:UserId>ffffffff521cf326e4b05c028a28007e</ns6:UserId><ns6:FirstName>2aug2713</ns6:FirstName><ns6:LastName>2aug2713</ns6:LastName><ns6:Gender>Unspecified</ns6:Gender><ns6:UserName>2aug2713</ns6:UserName><ns6:Password>password1</ns6:Password><ns6:EncryptionType>SHA</ns6:EncryptionType><ns6:AuthenticationType>SSO</ns6:AuthenticationType><ns6:BusinessRuleSet>CG</ns6:BusinessRuleSet><ns6:AutoGenerated>false</ns6:AutoGenerated></ns10:User><ns10:User
>>> > >> >>>>> >
>>> > >> >>>>>
>>> > >>
>>> >
>>> <ns10:UserRowId="3"><ns6:UserId>ffffffff521cf326e4b05c028a28007f</ns6:UserId><ns6:FirstName>3aug2713</ns6:FirstName><ns6:LastName>3aug2713</ns6:LastName><ns6:Gender>Unspecified</ns6:Gender><ns6:UserName>3aug2713</ns6:UserName><ns6:Password>password1</ns6:Password><ns6:EncryptionType>SHA</ns6:EncryptionType><ns6:AuthenticationType>SSO</ns6:AuthenticationType><ns6:BusinessRuleSet>CG</ns6:BusinessRuleSet><ns6:AutoGenerated>false</ns6:AutoGenerated></ns10:User></ns10:Users></ns10:GetUserBatchStatusResponse></soapenv:Body></soapenv:Envelope>
>>> > >> >>>>> > ......
>>> > >> >>>>> > .........
>>> > >> >>>>> > ....
>>> > >> >>>>> > <ns10:RowID="500"><ns6:UserId>...........
>>> > >> >>>>> >
>>> > >> >>>>> >
>>> > >> >>>>> > So, I would like to extract all 500 userId and corresponding
>>> > >> Username
>>> > >> >>>>> to it
>>> > >> >>>>> > and save it on a file like this:
>>> > >> >>>>> > ffffffff521cf326e4b05c028a28007d,1aug2713
>>> > >> >>>>> > ffffffff521cf326e4b05c028a28007e,2aug2713
>>> > >> >>>>> > ffffffff521cf326e4b05c028a28007f,3aug2713
>>> > >> >>>>> > .............
>>> > >> >>>>> > ..........
>>> > >> >>>>> > .....
>>> > >> >>>>> >
>>> > >> >>>>> >
>>> > >> >>>>> > In my regular expression extractor this is what I have so
>>> far:
>>> > >> >>>>> >
>>> > >> >>>>> > Regular Expression:
>>> > >> >>>>> >
>>> > <ns6:UserId>(.+?)</ns6:UserId>.*<ns6:UserName>(.+?)</ns6:UserName>
>>> > >> >>>>> > Template:$1$ $2$
>>> > >> >>>>> > Match No.(0 for Random): (what should i put here to extrat
>>> all
>>> > >> >>>>> matching)
>>> > >> >>>>>
>>> > >> >>>>>
>>> > >> >>>>>
>>> > >>
>>> >
>>> http://jmeter.apache.org/usermanual/component_reference.html#Regular_Expression_Extractor
>>> > >> >>>>>
>>> > >> >>>>> See the description of Match No.
>>> > >> >>>>>
>>> > >> >>>>> > Default Value:
>>> > >> >>>>>
>>> > >> >>>>>
>>> > >>
>>> ---------------------------------------------------------------------
>>> > >> >>>>> 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]
>>> > >>
>>> > >>
>>> > >
>>> >
>>>
>>
>>
>