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 >
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 >
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) % (" ${VaccinationLoop}" ).toInteger() == 0)}</stringProp >
232232 <boolProp name =" IfController.evaluateAll" >false</boolProp >
233233 <boolProp name =" IfController.useExpression" >true</boolProp >
@@ -291,7 +291,7 @@ vars.put("SessionId", cohortCodes.get(vars.get("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("SessionId", cohortCodes.get(vars.get("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("SessionId", cohortCodes.get(vars.get("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( " ${runOnce} " != " True " )}</stringProp >
438+ <IfController guiclass =" IfControllerPanel" testclass =" IfController" testname =" Determine session slug " >
439+ <stringProp name =" IfController.condition" >${__groovy(props.get( " SessionIdProp " ) ==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(" SessionIdProp" ," runOnce" )</stringProp >
450+ <stringProp name =" TestPlan.comments" >Immediately set the property so subsequent users don' t run this code. Check for sessionID ' runOnce' 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& status=open</stringProp >
446455 <boolProp name =" HTTPSampler.follow_redirects" >true</boolProp >
@@ -452,7 +461,7 @@ vars.put("SessionId", cohortCodes.get(vars.get("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" >" id" :[0-9]{0,7}?," name" :" (.{0,40}?)" ," address_line_1" :" .{0,40}?" ," address_line_2" :" .{0,40}?" ," address_town" :" .{0,40}?" ," address_postcode" :" .{0,30}?" ," url" :null," urn" :" ${CHILD_SCHOOL_URN}" </stringProp >
@@ -463,16 +472,8 @@ vars.put("SessionId", cohortCodes.get(vars.get("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("SessionId", cohortCodes.get(vars.get("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("SessionId", cohortCodes.get(vars.get("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=="completedSlugNotFound"){
553538}else{
554539 ConsentSession=completedSlug
555540}
556- vars.put( " SessionId " , ConsentSession);
557- vars .put(" runOnce " ," True " )} </stringProp >
541+
542+ props .put(" SessionIdProp " ,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("runOnce","True")}</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(" SessionId" ,props.get(" SessionIdProp" ))</stringProp >
577+ </JSR223PreProcessor >
578+ <hashTree />
595579 </hashTree >
596580 </hashTree >
597581 </hashTree >
@@ -605,7 +589,7 @@ vars.put("runOnce","True")}</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("runOnce","True")}</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