Vipimo vya JMeter Pass kati ya Vikundi vya Thread

Katika mafunzo haya ya JMeter, tunaangalia jinsi tunaweza kushiriki na kupitisha anuwai kati ya vikundi vya uzi.

Wakati wa kukuza hati za hali ya juu za JMeter, uwezekano mkubwa utakuwa na vikundi vingi vya uzi. Kila vikundi vya uzi vitafanya maombi tofauti.

Mfano mzuri wa hii ni wakati tunahitaji kudhibitisha watumiaji walio na Vibeba. Kikundi kimoja cha uzi hufanya uthibitishaji na huokoa ishara. Kikundi kingine cha uzi kinahitaji kupata ishara hii na kuitumia katika ombi lingine.


Kwa hivyo, tunahitaji utaratibu wa kupitisha anuwai kati ya vikundi vya uzi.



Pitisha Vigezo kati ya Vikundi vya Thread katika JMeter

Kwa mfano huu, mpango wetu wa mtihani utakuwa na vikundi viwili vya uzi. Kikundi cha kwanza cha uzi hufanya ombi la GET kwa huduma ya wavuti. Tunatumia Mtoaji wa JSON programu-jalizi kuchanganua majibu ya JSON.


Kutumia JSONPath, tunatoa thamani ya kitufe fulani na kuihifadhi kama tofauti ya JMeter.

Hivi ndivyo ombi letu la JMeter linaonekana kama:

Matokeo ya ombi hapo juu hutoa jibu lifuatalo katika muundo wa JSON:


na JSONPath yetu ya kutoa url ya kwanza inaonekana kama:

Thamani ya swala la JSONPath imehifadhiwa kama first_url. Tofauti hii inapatikana tu ndani ya kikundi hicho cha uzi na tunaweza kupata thamani yake kwa kutumia ${first_url}. Sasa, tutawezaje kufanya mabadiliko haya kupatikana kupitia vikundi vingine vya uzi?


Jibu ni kutumia BeanShell Assertion kuokoa tofauti kama mali ya ulimwengu. Kwa njia hii, tunaweza kupitisha anuwai kati ya vikundi vya uzi.

Ili kuongeza Uthibitisho wa BeanShell, bonyeza kulia kwenye Mpango wa Jaribio> Ongeza> Uthibitisho> Ushuhuda wa BeanShell

Katika Assertion yetu ya BeanShell, tunaweza kuingiza nambari ifuatayo

${__setProperty(first_url, ${first_url})};


Sasa katika kikundi cha uzi 2, tunaweza kupata tofauti hii moja kwa moja kwa kutumia ${__property(first_url)} kama inavyoonyeshwa hapa chini:

Au, tunaweza kutumia BeanShell PreProcessor kuendesha tofauti:


Katika PreProcessor ya BeanShell, tunaweza kupata mabadiliko yaliyopitishwa kutoka kwa kikundi kingine cha Thread, kwa kutumia props.get('name_of_variable'). Tunaweza kisha kufanya udanganyifu wa Kamba na kuokoa matokeo kama anuwai mpya.

Katika mfano hapo juu, tunaondoa http:// kutoka kwa ubadilishaji ambao ulipitishwa kutoka kwa Kikundi cha Thread 1, na tunahifadhi matokeo kuwa tofauti host.

Tofauti host sasa ni ya ndani kwa Thread Group 2 na kuifikia moja kwa moja kwa kutumia ${host} kama inavyoonyeshwa hapa chini: