Skip to content

Commit f7a993c

Browse files
authored
Test for urn removal
nurse journey update to use a property rather than a variable, as the session ID needs to apply to all users.
1 parent bb3255b commit f7a993c

File tree

1 file changed

+35
-51
lines changed

1 file changed

+35
-51
lines changed

performance-tests/E2E/nurse-journey.jmx

Lines changed: 35 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
<stringProp name="variableNames"></stringProp>
5555
</CSVDataSet>
5656
<hashTree/>
57-
<Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables">
57+
<Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
5858
<collectionProp name="Arguments.arguments">
5959
<elementProp name="AuthToken" elementType="Argument">
6060
<stringProp name="Argument.name">AuthToken</stringProp>
@@ -213,7 +213,7 @@
213213
<boolProp name="CacheManager.controlledByThread">false</boolProp>
214214
</CacheManager>
215215
<hashTree/>
216-
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Thread Group">
216+
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Thread Group" enabled="true">
217217
<stringProp name="ThreadGroup.num_threads">${Threads}</stringProp>
218218
<stringProp name="ThreadGroup.ramp_time">${RampUp}</stringProp>
219219
<stringProp name="ThreadGroup.duration">${Duration}</stringProp>
@@ -227,7 +227,7 @@
227227
</elementProp>
228228
</ThreadGroup>
229229
<hashTree>
230-
<IfController guiclass="IfControllerPanel" testclass="IfController" testname="Login decision">
230+
<IfController guiclass="IfControllerPanel" testclass="IfController" testname="Login decision" enabled="true">
231231
<stringProp name="IfController.condition">${__groovy((vars.getIteration()-1) % (&quot;${VaccinationLoop}&quot;).toInteger() == 0)}</stringProp>
232232
<boolProp name="IfController.evaluateAll">false</boolProp>
233233
<boolProp name="IfController.useExpression">true</boolProp>
@@ -291,7 +291,7 @@ vars.put(&quot;SessionId&quot;, cohortCodes.get(vars.get(&quot;CHILD_SCHOOL_URN&
291291
<boolProp name="TransactionController.includeTimers">false</boolProp>
292292
</TransactionController>
293293
<hashTree>
294-
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="1.1 Homepage">
294+
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="1.1 Homepage" enabled="true">
295295
<stringProp name="HTTPSampler.path">start</stringProp>
296296
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
297297
<stringProp name="HTTPSampler.method">GET</stringProp>
@@ -395,7 +395,7 @@ vars.put(&quot;SessionId&quot;, cohortCodes.get(vars.get(&quot;CHILD_SCHOOL_URN&
395395
</RegexExtractor>
396396
<hashTree/>
397397
</hashTree>
398-
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="1.4 Select Organisations" enabled="true">
398+
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="1.4 Select Organisations">
399399
<stringProp name="HTTPSampler.path">users/organisations</stringProp>
400400
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
401401
<stringProp name="HTTPSampler.method">POST</stringProp>
@@ -435,12 +435,21 @@ vars.put(&quot;SessionId&quot;, cohortCodes.get(vars.get(&quot;CHILD_SCHOOL_URN&
435435
</ConstantTimer>
436436
<hashTree/>
437437
</hashTree>
438-
<IfController guiclass="IfControllerPanel" testclass="IfController" testname="Only run once">
439-
<stringProp name="IfController.condition">${__jexl3(&quot;${runOnce}&quot; != &quot;True&quot;)}</stringProp>
438+
<IfController guiclass="IfControllerPanel" testclass="IfController" testname="Determine session slug">
439+
<stringProp name="IfController.condition">${__groovy(props.get(&quot;SessionIdProp&quot;) ==null)}</stringProp>
440440
<boolProp name="IfController.evaluateAll">false</boolProp>
441441
<boolProp name="IfController.useExpression">true</boolProp>
442442
</IfController>
443443
<hashTree>
444+
<JSR223Sampler guiclass="TestBeanGUI" testclass="JSR223Sampler" testname="Prevent multiple runs">
445+
<stringProp name="scriptLanguage">groovy</stringProp>
446+
<stringProp name="parameters"></stringProp>
447+
<stringProp name="filename"></stringProp>
448+
<stringProp name="cacheKey">true</stringProp>
449+
<stringProp name="script">props.put(&quot;SessionIdProp&quot;,&quot;runOnce&quot;)</stringProp>
450+
<stringProp name="TestPlan.comments">Immediately set the property so subsequent users don&apos;t run this code. Check for sessionID &apos;runOnce&apos; in case of error</stringProp>
451+
</JSR223Sampler>
452+
<hashTree/>
444453
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Get school name">
445454
<stringProp name="HTTPSampler.path">api/locations?type=school&amp;status=open</stringProp>
446455
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
@@ -452,7 +461,7 @@ vars.put(&quot;SessionId&quot;, cohortCodes.get(vars.get(&quot;CHILD_SCHOOL_URN&
452461
</elementProp>
453462
</HTTPSamplerProxy>
454463
<hashTree>
455-
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="schoolname regex" enabled="true">
464+
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="schoolname regex">
456465
<stringProp name="RegexExtractor.useHeaders">false</stringProp>
457466
<stringProp name="RegexExtractor.refname">schoolName</stringProp>
458467
<stringProp name="RegexExtractor.regex">&quot;id&quot;:[0-9]{0,7}?,&quot;name&quot;:&quot;(.{0,40}?)&quot;,&quot;address_line_1&quot;:&quot;.{0,40}?&quot;,&quot;address_line_2&quot;:&quot;.{0,40}?&quot;,&quot;address_town&quot;:&quot;.{0,40}?&quot;,&quot;address_postcode&quot;:&quot;.{0,30}?&quot;,&quot;url&quot;:null,&quot;urn&quot;:&quot;${CHILD_SCHOOL_URN}&quot;</stringProp>
@@ -463,16 +472,8 @@ vars.put(&quot;SessionId&quot;, cohortCodes.get(vars.get(&quot;CHILD_SCHOOL_URN&
463472
<stringProp name="Sample.scope">all</stringProp>
464473
</RegexExtractor>
465474
<hashTree/>
466-
<JSR223PostProcessor guiclass="TestBeanGUI" testclass="JSR223PostProcessor" testname="Set Ignore" enabled="true">
467-
<stringProp name="scriptLanguage">groovy</stringProp>
468-
<stringProp name="parameters"></stringProp>
469-
<stringProp name="filename"></stringProp>
470-
<stringProp name="cacheKey">true</stringProp>
471-
<stringProp name="script">prev.setIgnore()</stringProp>
472-
</JSR223PostProcessor>
473-
<hashTree/>
474475
</hashTree>
475-
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Scheduled sessions list" enabled="true">
476+
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Scheduled sessions list">
476477
<stringProp name="HTTPSampler.path">sessions/scheduled</stringProp>
477478
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
478479
<stringProp name="HTTPSampler.method">GET</stringProp>
@@ -493,16 +494,8 @@ vars.put(&quot;SessionId&quot;, cohortCodes.get(vars.get(&quot;CHILD_SCHOOL_URN&
493494
<stringProp name="RegexExtractor.match_number">1</stringProp>
494495
</RegexExtractor>
495496
<hashTree/>
496-
<JSR223PostProcessor guiclass="TestBeanGUI" testclass="JSR223PostProcessor" testname="Set Ignore" enabled="true">
497-
<stringProp name="scriptLanguage">groovy</stringProp>
498-
<stringProp name="parameters"></stringProp>
499-
<stringProp name="filename"></stringProp>
500-
<stringProp name="cacheKey">true</stringProp>
501-
<stringProp name="script">prev.setIgnore()</stringProp>
502-
</JSR223PostProcessor>
503-
<hashTree/>
504497
</hashTree>
505-
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Completed sessions list" enabled="true">
498+
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Completed sessions list">
506499
<stringProp name="HTTPSampler.path">sessions/completed</stringProp>
507500
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
508501
<stringProp name="HTTPSampler.method">GET</stringProp>
@@ -523,14 +516,6 @@ vars.put(&quot;SessionId&quot;, cohortCodes.get(vars.get(&quot;CHILD_SCHOOL_URN&
523516
<stringProp name="RegexExtractor.match_number">1</stringProp>
524517
</RegexExtractor>
525518
<hashTree/>
526-
<JSR223PostProcessor guiclass="TestBeanGUI" testclass="JSR223PostProcessor" testname="Set Ignore" enabled="true">
527-
<stringProp name="scriptLanguage">groovy</stringProp>
528-
<stringProp name="parameters"></stringProp>
529-
<stringProp name="filename"></stringProp>
530-
<stringProp name="cacheKey">true</stringProp>
531-
<stringProp name="script">prev.setIgnore()</stringProp>
532-
</JSR223PostProcessor>
533-
<hashTree/>
534519
</hashTree>
535520
<JSR223Sampler guiclass="TestBeanGUI" testclass="JSR223Sampler" testname="Calculate slug">
536521
<stringProp name="scriptLanguage">groovy</stringProp>
@@ -553,19 +538,10 @@ if(completedSlug==&quot;completedSlugNotFound&quot;){
553538
}else{
554539
ConsentSession=completedSlug
555540
}
556-
vars.put(&quot;SessionId&quot;, ConsentSession);
557-
vars.put(&quot;runOnce&quot;,&quot;True&quot;)}</stringProp>
541+
542+
props.put(&quot;SessionIdProp&quot;,ConsentSession)</stringProp>
558543
</JSR223Sampler>
559-
<hashTree>
560-
<JSR223PostProcessor guiclass="TestBeanGUI" testclass="JSR223PostProcessor" testname="Set Ignore" enabled="true">
561-
<stringProp name="scriptLanguage">groovy</stringProp>
562-
<stringProp name="parameters"></stringProp>
563-
<stringProp name="filename"></stringProp>
564-
<stringProp name="cacheKey">true</stringProp>
565-
<stringProp name="script">prev.setIgnore()</stringProp>
566-
</JSR223PostProcessor>
567-
<hashTree/>
568-
</hashTree>
544+
<hashTree/>
569545
</hashTree>
570546
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="1.5 Open Sessions list">
571547
<stringProp name="HTTPSampler.path">sessions</stringProp>
@@ -588,10 +564,18 @@ vars.put(&quot;runOnce&quot;,&quot;True&quot;)}</stringProp>
588564
<stringProp name="RegexExtractor.match_number">1</stringProp>
589565
</RegexExtractor>
590566
<hashTree/>
591-
<ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Think Time 7-12s" enabled="true">
567+
<ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Think Time 7-12s">
592568
<stringProp name="ConstantTimer.delay">${__Random(7000,12000,)}</stringProp>
593569
</ConstantTimer>
594570
<hashTree/>
571+
<JSR223PreProcessor guiclass="TestBeanGUI" testclass="JSR223PreProcessor" testname="JSR223 PreProcessor">
572+
<stringProp name="scriptLanguage">groovy</stringProp>
573+
<stringProp name="parameters"></stringProp>
574+
<stringProp name="filename"></stringProp>
575+
<stringProp name="cacheKey">true</stringProp>
576+
<stringProp name="script">vars.put(&quot;SessionId&quot;,props.get(&quot;SessionIdProp&quot;))</stringProp>
577+
</JSR223PreProcessor>
578+
<hashTree/>
595579
</hashTree>
596580
</hashTree>
597581
</hashTree>
@@ -605,7 +589,7 @@ vars.put(&quot;runOnce&quot;,&quot;True&quot;)}</stringProp>
605589
<boolProp name="TransactionController.includeTimers">false</boolProp>
606590
</TransactionController>
607591
<hashTree>
608-
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Open session" enabled="true">
592+
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Open session">
609593
<stringProp name="HTTPSampler.path">sessions/${SessionId}</stringProp>
610594
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
611595
<stringProp name="HTTPSampler.method">GET</stringProp>
@@ -765,11 +749,11 @@ vars.put(&quot;runOnce&quot;,&quot;True&quot;)}</stringProp>
765749
<boolProp name="IfController.useExpression">false</boolProp>
766750
</IfController>
767751
<hashTree>
768-
<TransactionController guiclass="TransactionControllerGui" testclass="TransactionController" testname="2.0 Register attendance" enabled="true">
752+
<TransactionController guiclass="TransactionControllerGui" testclass="TransactionController" testname="2.0 Register attendance">
769753
<boolProp name="TransactionController.includeTimers">false</boolProp>
770754
</TransactionController>
771755
<hashTree>
772-
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="2.1 Open session">
756+
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="2.1 Open session ${SessionId}">
773757
<stringProp name="HTTPSampler.path">sessions/${SessionId}</stringProp>
774758
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
775759
<stringProp name="HTTPSampler.method">GET</stringProp>
@@ -3731,7 +3715,7 @@ without actual network activity. This helps debugging tests.</stringProp>
37313715
</hashTree>
37323716
</hashTree>
37333717
</hashTree>
3734-
<ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree">
3718+
<ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true">
37353719
<boolProp name="ResultCollector.error_logging">false</boolProp>
37363720
<objProp>
37373721
<name>saveConfig</name>

0 commit comments

Comments
 (0)