Skip to content

Commit 8a0d119

Browse files
authored
Add session page offset
perf2test currently has 29 pages of sessions, of which only the first 3 are being checked for consents. This adds a session page offset so instead of checking page 1 to 3, it checks 3 to 6. As data is consumed, the offset can be increased until all 29 pages are done.
1 parent f1ea828 commit 8a0d119

File tree

1 file changed

+39
-24
lines changed

1 file changed

+39
-24
lines changed

performance-tests/STS/consent-journey.jmx

Lines changed: 39 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ URN ${__P(URN, 137390)} </stringProp>
129129
<boolProp name="CacheManager.controlledByThread">false</boolProp>
130130
</CacheManager>
131131
<hashTree/>
132-
<SetupThreadGroup guiclass="SetupThreadGroupGui" testclass="SetupThreadGroup" testname="setUp Thread Group">
132+
<SetupThreadGroup guiclass="SetupThreadGroupGui" testclass="SetupThreadGroup" testname="setUp Thread Group" enabled="true">
133133
<stringProp name="TestPlan.comments">Because I&apos;m no longer using a data file, this set up thread group can be here purely to set up sessions and data</stringProp>
134134
<intProp name="ThreadGroup.num_threads">1</intProp>
135135
<intProp name="ThreadGroup.ramp_time">1</intProp>
@@ -217,7 +217,7 @@ vars.get(&quot;VaccineCount_td_ipv&quot;,props.get(&quot;VaccineCount_td_ipv&quo
217217
</stringProp>
218218
</JSR223Sampler>
219219
<hashTree/>
220-
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Get Next Patient from STS">
220+
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Get Next Patient from STS" enabled="true">
221221
<stringProp name="TestPlan.comments">While there is only one patient list for consents, I&apos;m applying consent for all programmes and ignoring the programme value in the STS file</stringProp>
222222
<stringProp name="HTTPSampler.domain">localhost</stringProp>
223223
<stringProp name="HTTPSampler.port">9191</stringProp>
@@ -351,13 +351,13 @@ vars.get(&quot;VaccineCount_td_ipv&quot;,props.get(&quot;VaccineCount_td_ipv&quo
351351
</JSR223PostProcessor>
352352
<hashTree/>
353353
</hashTree>
354-
<IfController guiclass="IfControllerPanel" testclass="IfController" testname="End user if no more patients">
354+
<IfController guiclass="IfControllerPanel" testclass="IfController" testname="End user if no more patients" enabled="true">
355355
<stringProp name="IfController.condition">${__jexl3(&quot;${Result}&quot; == &quot;KO&quot;)}</stringProp>
356356
<boolProp name="IfController.evaluateAll">false</boolProp>
357357
<boolProp name="IfController.useExpression">true</boolProp>
358358
</IfController>
359359
<hashTree>
360-
<TestAction guiclass="TestActionGui" testclass="TestAction" testname="Stop on no data">
360+
<TestAction guiclass="TestActionGui" testclass="TestAction" testname="Stop on no data" enabled="true">
361361
<intProp name="ActionProcessor.action">0</intProp>
362362
<intProp name="ActionProcessor.target">0</intProp>
363363
<stringProp name="ActionProcessor.duration">0</stringProp>
@@ -373,7 +373,7 @@ vars.get(&quot;VaccineCount_td_ipv&quot;,props.get(&quot;VaccineCount_td_ipv&quo
373373
<hashTree/>
374374
</hashTree>
375375
</hashTree>
376-
<ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="Submit consents">
376+
<ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="Submit consents" enabled="true">
377377
<collectionProp name="ModuleController.node_path">
378378
<stringProp name="764597751">Test Plan</stringProp>
379379
<stringProp name="764597751">Test Plan</stringProp>
@@ -476,7 +476,7 @@ vars.get(&quot;VaccineCount_td_ipv&quot;,props.get(&quot;VaccineCount_td_ipv&quo
476476
</hashTree>
477477
<TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="Get patients for processing" enabled="false"/>
478478
<hashTree>
479-
<JSR223Sampler guiclass="TestBeanGUI" testclass="JSR223Sampler" testname="Calculate patient requirements">
479+
<JSR223Sampler guiclass="TestBeanGUI" testclass="JSR223Sampler" testname="Calculate patient requirements" enabled="true">
480480
<stringProp name="scriptLanguage">groovy</stringProp>
481481
<stringProp name="parameters"></stringProp>
482482
<stringProp name="filename"></stringProp>
@@ -677,8 +677,23 @@ log.info(&quot;number of patients per Vaccine required: &quot; + props.get(&quot
677677
<stringProp name="LoopController.loops">4</stringProp>
678678
</LoopController>
679679
<hashTree>
680+
<JSR223Sampler guiclass="TestBeanGUI" testclass="JSR223Sampler" testname="Move page range">
681+
<stringProp name="scriptLanguage">groovy</stringProp>
682+
<stringProp name="parameters"></stringProp>
683+
<stringProp name="filename"></stringProp>
684+
<stringProp name="cacheKey">true</stringProp>
685+
<stringProp name="script">//The test only needs to scan a subset of pages, but the JMeter loop controller can only start from 1
686+
//So this adds a value to the current page. When the test runs out of sessions, increase the offset
687+
688+
currentPageOffset=3
689+
690+
vars.put(&quot;SessionPage&quot;,(vars.get(&quot;__jm__SessionPageLoop__idx&quot;).toInteger() + currentPageOffset).toString())
691+
692+
</stringProp>
693+
</JSR223Sampler>
694+
<hashTree/>
680695
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Sessions page">
681-
<stringProp name="HTTPSampler.path">sessions?page=${__jm__SessionPageLoop__idx}</stringProp>
696+
<stringProp name="HTTPSampler.path">sessions?page=${SessionPage}</stringProp>
682697
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
683698
<stringProp name="HTTPSampler.method">GET</stringProp>
684699
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
@@ -696,7 +711,7 @@ log.info(&quot;number of patients per Vaccine required: &quot; + props.get(&quot
696711
<stringProp name="script">prev.setIgnore()</stringProp>
697712
</JSR223PostProcessor>
698713
<hashTree/>
699-
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Get all session ID&apos;s" enabled="true">
714+
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Get all session ID&apos;s">
700715
<stringProp name="RegexExtractor.useHeaders">false</stringProp>
701716
<stringProp name="RegexExtractor.refname">PageSessionID</stringProp>
702717
<stringProp name="RegexExtractor.regex">sessions\/(.*?)&quot;[\s\S]{1,500}&gt;\d*? children[\s\S]{1,400}nhsuk-tag nhsuk-tag--white&quot;&gt;(.*?)&lt;</stringProp>
@@ -741,7 +756,7 @@ if(PageIDCount&gt;0){
741756
</stringProp>
742757
</JSR223Sampler>
743758
<hashTree>
744-
<JSR223PostProcessor guiclass="TestBeanGUI" testclass="JSR223PostProcessor" testname="Set Ignore" enabled="true">
759+
<JSR223PostProcessor guiclass="TestBeanGUI" testclass="JSR223PostProcessor" testname="Set Ignore">
745760
<stringProp name="scriptLanguage">groovy</stringProp>
746761
<stringProp name="parameters"></stringProp>
747762
<stringProp name="filename"></stringProp>
@@ -791,7 +806,7 @@ without actual network activity. This helps debugging tests.</stringProp>
791806
<stringProp name="script">log.info(&quot;Currently working with &quot; + vars.get(&quot;CurrentSessionID&quot;))</stringProp>
792807
</JSR223Sampler>
793808
<hashTree>
794-
<JSR223PostProcessor guiclass="TestBeanGUI" testclass="JSR223PostProcessor" testname="Set Ignore">
809+
<JSR223PostProcessor guiclass="TestBeanGUI" testclass="JSR223PostProcessor" testname="Set Ignore" enabled="true">
795810
<stringProp name="scriptLanguage">groovy</stringProp>
796811
<stringProp name="parameters"></stringProp>
797812
<stringProp name="filename"></stringProp>
@@ -800,7 +815,7 @@ without actual network activity. This helps debugging tests.</stringProp>
800815
</JSR223PostProcessor>
801816
<hashTree/>
802817
</hashTree>
803-
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Get Individual session">
818+
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Get Individual session" enabled="true">
804819
<boolProp name="HTTPSampler.image_parser">true</boolProp>
805820
<boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
806821
<intProp name="HTTPSampler.concurrentPool">6</intProp>
@@ -851,7 +866,7 @@ without actual network activity. This helps debugging tests.</stringProp>
851866
<intProp name="Assertion.test_type">16</intProp>
852867
</ResponseAssertion>
853868
<hashTree/>
854-
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Get Programme" enabled="true">
869+
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Get Programme">
855870
<stringProp name="RegexExtractor.useHeaders">false</stringProp>
856871
<stringProp name="RegexExtractor.refname">Programme</stringProp>
857872
<stringProp name="RegexExtractor.regex">&lt;h3 class=&quot;nhsuk-heading-m nhsuk-u-margin-bottom-2&quot;&gt;\n *(.*?)\n *&lt;\/h3&gt;</stringProp>
@@ -867,7 +882,7 @@ JSR223 Sampler: HPV
867882
</stringProp>
868883
</RegexExtractor>
869884
<hashTree/>
870-
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Get Consent Counts" enabled="true">
885+
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Get Consent Counts">
871886
<stringProp name="RegexExtractor.useHeaders">false</stringProp>
872887
<stringProp name="RegexExtractor.refname">ConsentCount</stringProp>
873888
<stringProp name="RegexExtractor.regex">no_response&quot;&gt;(\d*?) </stringProp>
@@ -877,7 +892,7 @@ JSR223 Sampler: HPV
877892
<stringProp name="RegexExtractor.match_number">1</stringProp>
878893
</RegexExtractor>
879894
<hashTree/>
880-
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Check for &apos;no sessions scheduled&apos;" enabled="true">
895+
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Check for &apos;no sessions scheduled&apos;">
881896
<stringProp name="RegexExtractor.useHeaders">false</stringProp>
882897
<stringProp name="RegexExtractor.refname">noSessions</stringProp>
883898
<stringProp name="RegexExtractor.regex">&lt;strong class=&quot;nhsuk-tag nhsuk-tag--purple&quot;&gt;(.*?)&lt;/strong&gt;&lt;/p&gt;</stringProp>
@@ -1003,7 +1018,7 @@ JSR223 Sampler: HPV
10031018
<stringProp name="parameters"></stringProp>
10041019
<stringProp name="filename"></stringProp>
10051020
<stringProp name="cacheKey">true</stringProp>
1006-
<stringProp name="script">//log.info(vars.get(&quot;Programme&quot;) + &quot;:&quot; + vars.get(&quot;ConsentCount&quot;))
1021+
<stringProp name="script">log.info(vars.get(&quot;Programme&quot;) + &quot;:&quot; + vars.get(&quot;ConsentCount&quot;))
10071022

10081023
//First check the sessions has sufficient records that have no consent
10091024
vars.put(&quot;ViableSession&quot;,&quot;False&quot;)
@@ -1025,7 +1040,7 @@ if(props.get(&quot;VaccineCount_&quot; + vars.get(&quot;Programme&quot;).toLower
10251040
}</stringProp>
10261041
</JSR223Sampler>
10271042
<hashTree>
1028-
<JSR223PostProcessor guiclass="TestBeanGUI" testclass="JSR223PostProcessor" testname="Set Ignore" enabled="true">
1043+
<JSR223PostProcessor guiclass="TestBeanGUI" testclass="JSR223PostProcessor" testname="Set Ignore">
10291044
<stringProp name="scriptLanguage">groovy</stringProp>
10301045
<stringProp name="parameters"></stringProp>
10311046
<stringProp name="filename"></stringProp>
@@ -1034,13 +1049,13 @@ if(props.get(&quot;VaccineCount_&quot; + vars.get(&quot;Programme&quot;).toLower
10341049
</JSR223PostProcessor>
10351050
<hashTree/>
10361051
</hashTree>
1037-
<IfController guiclass="IfControllerPanel" testclass="IfController" testname="IF session is required">
1052+
<IfController guiclass="IfControllerPanel" testclass="IfController" testname="IF session is required" enabled="true">
10381053
<stringProp name="IfController.condition">${__jexl3(&quot;${ViableSession}&quot;==&quot;True&quot;)}</stringProp>
10391054
<boolProp name="IfController.evaluateAll">false</boolProp>
10401055
<boolProp name="IfController.useExpression">true</boolProp>
10411056
</IfController>
10421057
<hashTree>
1043-
<ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="Set session date and in progress" enabled="true">
1058+
<ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="Set session date and in progress">
10441059
<collectionProp name="ModuleController.node_path">
10451060
<stringProp name="764597751">Test Plan</stringProp>
10461061
<stringProp name="764597751">Test Plan</stringProp>
@@ -1725,7 +1740,7 @@ log.info(&quot;For thread &quot; + Threadnum.toString() + &quot; session ID is &
17251740
</elementProp>
17261741
</HTTPSamplerProxy>
17271742
<hashTree/>
1728-
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Get offline file">
1743+
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Get offline file" enabled="true">
17291744
<stringProp name="HTTPSampler.path">sessions/${CurrentSessionID}.xlsx</stringProp>
17301745
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
17311746
<stringProp name="HTTPSampler.method">GET</stringProp>
@@ -1736,7 +1751,7 @@ log.info(&quot;For thread &quot; + Threadnum.toString() + &quot; session ID is &
17361751
</elementProp>
17371752
</HTTPSamplerProxy>
17381753
<hashTree>
1739-
<JSR223PostProcessor guiclass="TestBeanGUI" testclass="JSR223PostProcessor" testname="JSR223 PostProcessor">
1754+
<JSR223PostProcessor guiclass="TestBeanGUI" testclass="JSR223PostProcessor" testname="JSR223 PostProcessor" enabled="true">
17401755
<stringProp name="scriptLanguage">groovy</stringProp>
17411756
<stringProp name="parameters"></stringProp>
17421757
<stringProp name="filename"></stringProp>
@@ -1803,7 +1818,7 @@ log.info(sessionProgramme + &quot; has &quot; + props.get(sessionProgramme) + &q
18031818
</stringProp>
18041819
</JSR223PostProcessor>
18051820
<hashTree/>
1806-
<JSR223PostProcessor guiclass="TestBeanGUI" testclass="JSR223PostProcessor" testname="Set Ignore">
1821+
<JSR223PostProcessor guiclass="TestBeanGUI" testclass="JSR223PostProcessor" testname="Set Ignore" enabled="true">
18071822
<stringProp name="cacheKey">true</stringProp>
18081823
<stringProp name="filename"></stringProp>
18091824
<stringProp name="parameters"></stringProp>
@@ -1887,7 +1902,7 @@ log.info(sessionProgramme + &quot; has &quot; + props.get(sessionProgramme) + &q
18871902
<hashTree/>
18881903
</hashTree>
18891904
</hashTree>
1890-
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Get count">
1905+
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Get count" enabled="true">
18911906
<stringProp name="HTTPSampler.domain">localhost</stringProp>
18921907
<stringProp name="HTTPSampler.port">9191</stringProp>
18931908
<stringProp name="HTTPSampler.protocol">http</stringProp>
@@ -4301,12 +4316,12 @@ vars.put(&quot;Authenticity_Token&quot;,vars.get(&quot;Confirm_Authenticity_Toke
43014316
<boolProp name="IfController.useExpression">false</boolProp>
43024317
</IfController>
43034318
<hashTree>
4304-
<TransactionController guiclass="TransactionControllerGui" testclass="TransactionController" testname="MEN Homepage">
4319+
<TransactionController guiclass="TransactionControllerGui" testclass="TransactionController" testname="MEN Homepage" enabled="true">
43054320
<boolProp name="TransactionController.parent">true</boolProp>
43064321
<boolProp name="TransactionController.includeTimers">false</boolProp>
43074322
</TransactionController>
43084323
<hashTree>
4309-
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="https://qa.mavistesting.com/consents/${ConsentSession_MenACWY}/menacwy-td_ipv/start">
4324+
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="https://qa.mavistesting.com/consents/${ConsentSession_MenACWY}/menacwy-td_ipv/start" enabled="true">
43104325
<boolProp name="HTTPSampler.image_parser">true</boolProp>
43114326
<boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
43124327
<intProp name="HTTPSampler.concurrentPool">6</intProp>

0 commit comments

Comments
 (0)