Tried both methods mentioned by ZK and Felix, and both working fine. Thanks alot.
On 22-Jun-2017 4:13 pm, "Felix Schumacher" < [email protected]> wrote: > Am 22.06.2017 09:06, schrieb praveen tiwari: > >> Hi Felix, >> >> Please find below an explanation in more detail: >> >> HTML Response: >> > > I have simplified the html to the following code: > > <html> > <body> > <input name="fare1" value="id-1" /> > <input name="in1" id="id-1-a" /> > <input name="in1" id="id-1-b" /> > <input name="out1" id="id-1-c" /> > <input name="out1" id="id-1-d" /> > > <input name="fare2" value="id-2" /> > <input name="in2" id="id-2-a" /> > <input name="in2" id="id-2-b" /> > <input name="out2" id="id-2-c" /> > <input name="out2" id="id-2-d" /> > </body> > </html> > > fare1 and fare2 are your fare-ids and inX and outX are the inbound and > outbound parameters. > > >> ------------------------------------------------------------ >> ------------------------------------------------------------ >> ------------------------------------- >> *FareID1:* >> <input type="radio" name="timeoutbound1" value="" >> id="ae3dc705-d5dc-4729-9288-133e036c1cda" >> optid="ae3dc705-d5dc-4729-9288-133e036c1cda" /> >> <input type="radio" name="timeoutbound1" value="" >> id="22c7814f-e145-4082-86a2-09c2f922b893" >> > ... > >> <input type="radio" name="timeinbound1" value="" >> id="5852bc68-461e-4570-b5ea-fb85f4367c18" >> optid="5852bc68-461e-4570-b5ea-fb85f4367c18" /> >> >> <input id="fareRefId_1" name="FareRefId" type="hidden" >> value="7f9a6381-9569-4af2-884f-16dd39332a9a" /> >> >> *FareID2:* >> <input type="radio" name="timeoutbound2" value="" >> id="ae3dc705-d5dc-4729-9288-133e036c1cda" >> optid="ae3dc705-d5dc-4729-9288-133e036c1cda" /> >> <input type="radio" name="timeoutbound2" value="" >> id="22c7814f-e145-4082-86a2-09c2f922b893" >> > ... > >> <input type="radio" name="timeinbound2" value="" >> id="f2a18f88-e87f-47f7-a31a-1cc92b905348" >> optid="f2a18f88-e87f-47f7-a31a-1cc92b905348" /> >> <input type="radio" name="timeinbound2" value="" >> id="dae19c11-dfa3-4483-8c0c-b06f0ec28c07" >> optid="dae19c11-dfa3-4483-8c0c-b06f0ec28c07" /> >> >> <input id="fareRefId_2" name="FareRefId" type="hidden" >> value="7f9a6381-9569-4af2-884f-16dd39332a9a" /> >> ------------------------------------------------------------ >> ------------------------------------------------------------ >> ------------------------------------- >> >> For "*fareRefId_1*" there are* multiple values of "timeinbound1" and >> "timeoutbound1". * >> For "*fareRefId_2*" there are* multiple values of "timeinbound2" and >> "timeoutbound2". * >> >> Similarilty there are multiple "fareRefId_No." in my response. >> >> Scenario is that I need to extract value of "timeinbound" and >> "timeoutbound" >> depending on the value of fareRefId_No. >> e.g. if fareRefId_2 - pass any value of "timeinbound2" and >> "timeoutbound2". >> fareRefId_9 - pass any value of "timeinbound9" and "timeoutbound9". >> > > So you have a loop with a counter that you can reference as ${counter} > that counts from 1 to 2. > > - controller loop > - config counter > - sampler http > - extractor (fare) > - extractor (in) > > You are using a regex extractor in your example, but I think you are > better of using a css/jquery extractor: > > For extractor (fare) the config woukd be: > reference name: fare > expression: input[name='fare${counter}'] > attribute: value > match no.: 1 > > For extractor (in) you would use: > reference name: in > expression: input[name='in${counter}'] > attribute: id > match no.: -1 > > This setup should give you the following variables and their respective > values: > counter=X > fare=id-X > in_1=id-X-a > in_2=id-X-b > in_MatchNr=2 > > It should be straightforward to extend the tests for include outX > > The same can be accomplished with regex extractors and setting the "match > no." to the same values as above. But I think css extractor is easier to > get right. > > Hope this helps, > Felix > > >> I have added a "counter" config element in a while loop before calling the >> request containing below regular expression. >> >> *Counter Config Element:* >> Start: 2 >> Increment: 1 >> Reference name: Count >> >> *Regular Expression used:* >> >> Variable: FareReferenceId >> Reg Exp: <input id="fareRefId_(.+?)" name="FareRefId" type="hidden" >> value="(.+?)" /> >> Template: $1$$2$ >> Match No. ${Count} >> Variable Passed: ${FareReferenceId_g2} >> >> Variable: Timeinbound >> Reg Exp: <input type="radio" name="timeinbound(.+?)" value="" id="(.+?)" >> optid >> Template: $1$$2$ >> Match No. ${Count} >> Variable Passed: ${Timeinbound_g2} >> >> Variable: Timeoutbound >> Reg Exp: <input type="radio" name="timeoutbound(.+?)" value="" id="(.+?)" >> optid >> Template: $1$$2$ >> Match No. ${Count} >> Variable Passed: ${Timeoutbound_g2} >> >> Issue I am facing is that if counter = 2, it passed 2nd value of >> fareRefId, >> Timeinbound and TimeOutbound, while I need if counter = 2, it should pass >> second value of fareRefId and any value of Timeinbound2 and >> TimeOutbound2, >> >> Please let me know if you need more information. >> >> On 22-Jun-2017 11:06 am, "Felix Schumacher" < >> [email protected]> wrote: >> >> >>> >>> Am 21. Juni 2017 18:31:43 MESZ schrieb praveen tiwari < >>> [email protected]>: >>> >Hi All, >>> > >>> >I have a scenario as below and seeking for help on same. >>> > >>> >I have a request and it's response contains data as below which I am >>> >able >>> >to extract using regular expression: >>> > >>> >For >>> >Fare 1 >>> >>> What is fare? I don't understand it? >>> >>> >ABC 1, ABC 1, ABC 1 (multiple times) >>> Is ABC 1, ABC 1, ABC 1 already multiple times, or is it three times x >>> ABC 1 >>> >>> Maybe you could give a more concrete example with? >>> >>> >XYZ 1, XYZ 1, XYZ 1 (multiple times) >>> > >>> >Fare 2 >>> >ABC 2, ABC 2, ABC 2 (multiple times) >>> >XYZ 2, XYZ 2, XYZ 2 (multiple times) >>> > >>> >Fare n >>> >ABC n, ABC n, ABC n (multiple times) >>> >XYZ n, XYZ n, XYZ n (multiple times) >>> > >>> >Required scenario is: >>> >when I am getting fare 1, I need to select ABC 1 and XYZ 1. >>> >when I am getting fare 2, I need to select ABC 2 and XYZ 2. >>> >when I am getting fare n, I need to select ABC n and XYZ n. >>> > >>> >Problem I am facing is I am able to fetch "fare n" but when same number >>> >(n) >>> >is applied on ABC/XYZ in regular expression (templates), I am getting >>> >value >>> >from different fare section. e.g if I consider fare 2 (defined number >>> >in >>> >regexp template is 2), I am getting 2nd value from Fare 1 (ABC 1 and >>> >XYZ 1 >>> >which is at 2nd position). >>> >>> I don't understand the description. Could you give the concrete regex and >>> templates you are using? >>> >>> Regards, >>> Felix >>> >>> > >>> >Any help with implementation of above login would be highly >>> >appreciated. >>> >If required more details, please let me know. >>> >>> --------------------------------------------------------------------- >>> 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] > >
