MDL-41421 tool_generator: Import .jmx template
[moodle.git] / admin / tool / generator / testplan.template.jmx
1 <?xml version="1.0" encoding="UTF-8"?>
2 <jmeterTestPlan version="1.2" properties="2.4">
3   <hashTree>
4     <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true">
5       <stringProp name="TestPlan.comments"></stringProp>
6       <boolProp name="TestPlan.functional_mode">false</boolProp>
7       <boolProp name="TestPlan.serialize_threadgroups">true</boolProp>
8       <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
9         <collectionProp name="Arguments.arguments">
10           <elementProp name="runtimestamp" elementType="Argument">
11             <stringProp name="Argument.name">runtimestamp</stringProp>
12             <stringProp name="Argument.value">${__time()}</stringProp>
13             <stringProp name="Argument.metadata">=</stringProp>
14           </elementProp>
15           <elementProp name="users" elementType="Argument">
16             <stringProp name="Argument.name">users</stringProp>
17             <stringProp name="Argument.value">{{USERS_PLACEHOLDER}}</stringProp>
18             <stringProp name="Argument.metadata">=</stringProp>
19           </elementProp>
20           <elementProp name="loops" elementType="Argument">
21             <stringProp name="Argument.name">loops</stringProp>
22             <stringProp name="Argument.value">{{LOOPS_PLACEHOLDER}}</stringProp>
23             <stringProp name="Argument.metadata">=</stringProp>
24           </elementProp>
25           <elementProp name="rampup" elementType="Argument">
26             <stringProp name="Argument.name">rampup</stringProp>
27             <stringProp name="Argument.value">{{RAMPUP_PLACEHOLDER}}</stringProp>
28             <stringProp name="Argument.metadata">=</stringProp>
29           </elementProp>
30           <elementProp name="host" elementType="Argument">
31             <stringProp name="Argument.name">host</stringProp>
32             <stringProp name="Argument.value">{{HOST_PLACEHOLDER}}</stringProp>
33             <stringProp name="Argument.metadata">=</stringProp>
34           </elementProp>
35           <elementProp name="sitepath" elementType="Argument">
36             <stringProp name="Argument.name">sitepath</stringProp>
37             <stringProp name="Argument.value">{{SITEPATH_PLACEHOLDER}}</stringProp>
38             <stringProp name="Argument.metadata">=</stringProp>
39           </elementProp>
40           <elementProp name="courseid" elementType="Argument">
41             <stringProp name="Argument.name">courseid</stringProp>
42             <stringProp name="Argument.value">{{COURSEID_PLACEHOLDER}}</stringProp>
43             <stringProp name="Argument.metadata">=</stringProp>
44           </elementProp>
45           <elementProp name="pageactivityid" elementType="Argument">
46             <stringProp name="Argument.name">pageactivityid</stringProp>
47             <stringProp name="Argument.value">{{PAGEACTIVITYID_PLACEHOLDER}}</stringProp>
48             <stringProp name="Argument.metadata">=</stringProp>
49           </elementProp>
50           <elementProp name="forumactivityid" elementType="Argument">
51             <stringProp name="Argument.name">forumactivityid</stringProp>
52             <stringProp name="Argument.value">{{FORUMACTIVITYID_PLACEHOLDER}}</stringProp>
53             <stringProp name="Argument.metadata">=</stringProp>
54           </elementProp>
55           <elementProp name="forumdiscussionid" elementType="Argument">
56             <stringProp name="Argument.name">forumdiscussionid</stringProp>
57             <stringProp name="Argument.value">{{FORUMDISCUSSIONID_PLACEHOLDER}}</stringProp>
58             <stringProp name="Argument.metadata">=</stringProp>
59           </elementProp>
60           <elementProp name="forumreplyid" elementType="Argument">
61             <stringProp name="Argument.name">forumreplyid</stringProp>
62             <stringProp name="Argument.value">{{FORUMREPLYID_PLACEHOLDER}}</stringProp>
63             <stringProp name="Argument.metadata">=</stringProp>
64           </elementProp>
66         </collectionProp>
67       </elementProp>
68       <stringProp name="TestPlan.user_define_classpath"></stringProp>
69     </TestPlan>
70     <hashTree>
71       <ConstantThroughputTimer guiclass="TestBeanGUI" testclass="ConstantThroughputTimer" testname="Samples per minute" enabled="true">
72         <stringProp name="calcMode">all active threads (shared)</stringProp>
73         <doubleProp>
74           <name>throughput</name>
75           <value>120.0</value>
76           <savedValue>0.0</savedValue>
77         </doubleProp>
78       </ConstantThroughputTimer>
79       <hashTree/>
80       <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Warm-up site" enabled="true">
81         <stringProp name="TestPlan.comments">Used to fill the caches, logs in every user</stringProp>
82         <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
83         <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
84           <boolProp name="LoopController.continue_forever">false</boolProp>
85           <stringProp name="LoopController.loops">1</stringProp>
86         </elementProp>
87         <stringProp name="ThreadGroup.num_threads">${users}</stringProp>
88         <stringProp name="ThreadGroup.ramp_time">${rampup}</stringProp>
89         <longProp name="ThreadGroup.start_time">1378187955000</longProp>
90         <longProp name="ThreadGroup.end_time">1378187955000</longProp>
91         <boolProp name="ThreadGroup.scheduler">false</boolProp>
92         <stringProp name="ThreadGroup.duration"></stringProp>
93         <stringProp name="ThreadGroup.delay"></stringProp>
94       </ThreadGroup>
95       <hashTree>
96         <ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="Default site request" enabled="true">
97           <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
98             <collectionProp name="Arguments.arguments"/>
99           </elementProp>
100           <stringProp name="HTTPSampler.domain">${host}</stringProp>
101           <stringProp name="HTTPSampler.port"></stringProp>
102           <stringProp name="HTTPSampler.connect_timeout"></stringProp>
103           <stringProp name="HTTPSampler.response_timeout"></stringProp>
104           <stringProp name="HTTPSampler.protocol"></stringProp>
105           <stringProp name="HTTPSampler.contentEncoding"></stringProp>
106           <stringProp name="HTTPSampler.path">${sitepath}</stringProp>
107           <stringProp name="HTTPSampler.concurrentPool">4</stringProp>
108         </ConfigTestElement>
109         <hashTree/>
110         <CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="CSV users data" enabled="true">
111           <stringProp name="delimiter">,</stringProp>
112           <stringProp name="fileEncoding"></stringProp>
113           <stringProp name="filename">${__P(usersfile,YOU_FORGOT_TO_SPECIFY_USERS_CSV_FILE.csv)}</stringProp>
114           <boolProp name="quotedData">false</boolProp>
115           <boolProp name="recycle">true</boolProp>
116           <stringProp name="shareMode">All threads</stringProp>
117           <boolProp name="stopThread">false</boolProp>
118           <stringProp name="variableNames">username,password</stringProp>
119         </CSVDataSet>
120         <hashTree/>
121         <LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="Test plan loop" enabled="true">
122           <boolProp name="LoopController.continue_forever">true</boolProp>
123           <stringProp name="LoopController.loops">1</stringProp>
124         </LoopController>
125         <hashTree>
126           <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="HTTP Cookie Manager" enabled="true">
127             <collectionProp name="CookieManager.cookies"/>
128             <boolProp name="CookieManager.clearEachIteration">true</boolProp>
129             <stringProp name="CookieManager.policy">rfc2109</stringProp>
130           </CookieManager>
131           <hashTree/>
132           <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Frontpage not logged" enabled="true">
133             <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
134               <collectionProp name="Arguments.arguments"/>
135             </elementProp>
136             <stringProp name="HTTPSampler.domain"></stringProp>
137             <stringProp name="HTTPSampler.port"></stringProp>
138             <stringProp name="HTTPSampler.connect_timeout"></stringProp>
139             <stringProp name="HTTPSampler.response_timeout"></stringProp>
140             <stringProp name="HTTPSampler.protocol"></stringProp>
141             <stringProp name="HTTPSampler.contentEncoding"></stringProp>
142             <stringProp name="HTTPSampler.path"></stringProp>
143             <stringProp name="HTTPSampler.method">GET</stringProp>
144             <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
145             <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
146             <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
147             <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
148             <boolProp name="HTTPSampler.monitor">false</boolProp>
149             <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
150           </HTTPSamplerProxy>
151           <hashTree/>
152           <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Login" enabled="true">
153             <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
154               <collectionProp name="Arguments.arguments">
155                 <elementProp name="username" elementType="HTTPArgument">
156                   <boolProp name="HTTPArgument.always_encode">false</boolProp>
157                   <stringProp name="Argument.value">${username}</stringProp>
158                   <stringProp name="Argument.metadata">=</stringProp>
159                   <boolProp name="HTTPArgument.use_equals">true</boolProp>
160                   <stringProp name="Argument.name">username</stringProp>
161                 </elementProp>
162                 <elementProp name="password" elementType="HTTPArgument">
163                   <boolProp name="HTTPArgument.always_encode">false</boolProp>
164                   <stringProp name="Argument.value">${password}</stringProp>
165                   <stringProp name="Argument.metadata">=</stringProp>
166                   <boolProp name="HTTPArgument.use_equals">true</boolProp>
167                   <stringProp name="Argument.name">password</stringProp>
168                 </elementProp>
169               </collectionProp>
170             </elementProp>
171             <stringProp name="HTTPSampler.domain"></stringProp>
172             <stringProp name="HTTPSampler.port"></stringProp>
173             <stringProp name="HTTPSampler.connect_timeout"></stringProp>
174             <stringProp name="HTTPSampler.response_timeout"></stringProp>
175             <stringProp name="HTTPSampler.protocol"></stringProp>
176             <stringProp name="HTTPSampler.contentEncoding"></stringProp>
177             <stringProp name="HTTPSampler.path">${sitepath}/login/index.php</stringProp>
178             <stringProp name="HTTPSampler.method">POST</stringProp>
179             <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
180             <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
181             <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
182             <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
183             <boolProp name="HTTPSampler.monitor">false</boolProp>
184             <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
185           </HTTPSamplerProxy>
186           <hashTree/>
187           <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Frontpage logged" enabled="true">
188             <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
189               <collectionProp name="Arguments.arguments"/>
190             </elementProp>
191             <stringProp name="HTTPSampler.domain"></stringProp>
192             <stringProp name="HTTPSampler.port"></stringProp>
193             <stringProp name="HTTPSampler.connect_timeout"></stringProp>
194             <stringProp name="HTTPSampler.response_timeout"></stringProp>
195             <stringProp name="HTTPSampler.protocol"></stringProp>
196             <stringProp name="HTTPSampler.contentEncoding"></stringProp>
197             <stringProp name="HTTPSampler.path"></stringProp>
198             <stringProp name="HTTPSampler.method">GET</stringProp>
199             <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
200             <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
201             <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
202             <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
203             <boolProp name="HTTPSampler.monitor">false</boolProp>
204             <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
205           </HTTPSamplerProxy>
206           <hashTree/>
207           <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="View course" enabled="true">
208             <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
209               <collectionProp name="Arguments.arguments">
210                 <elementProp name="id" elementType="HTTPArgument">
211                   <boolProp name="HTTPArgument.always_encode">false</boolProp>
212                   <stringProp name="Argument.value">${courseid}</stringProp>
213                   <stringProp name="Argument.metadata">=</stringProp>
214                   <boolProp name="HTTPArgument.use_equals">true</boolProp>
215                   <stringProp name="Argument.name">id</stringProp>
216                 </elementProp>
217               </collectionProp>
218             </elementProp>
219             <stringProp name="HTTPSampler.domain"></stringProp>
220             <stringProp name="HTTPSampler.port"></stringProp>
221             <stringProp name="HTTPSampler.connect_timeout"></stringProp>
222             <stringProp name="HTTPSampler.response_timeout"></stringProp>
223             <stringProp name="HTTPSampler.protocol"></stringProp>
224             <stringProp name="HTTPSampler.contentEncoding"></stringProp>
225             <stringProp name="HTTPSampler.path">${sitepath}/course/view.php</stringProp>
226             <stringProp name="HTTPSampler.method">GET</stringProp>
227             <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
228             <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
229             <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
230             <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
231             <boolProp name="HTTPSampler.monitor">false</boolProp>
232             <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
233             <stringProp name="TestPlan.comments">       </stringProp>
234           </HTTPSamplerProxy>
235           <hashTree>
236             <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor" enabled="true">
237               <stringProp name="RegexExtractor.useHeaders">false</stringProp>
238               <stringProp name="RegexExtractor.refname">SESSION_SESSKEY</stringProp>
239               <stringProp name="RegexExtractor.regex">sesskey=([^&quot;]+)&quot;</stringProp>
240               <stringProp name="RegexExtractor.template">$1$</stringProp>
241               <stringProp name="RegexExtractor.default"></stringProp>
242               <stringProp name="RegexExtractor.match_number">2</stringProp>
243               <stringProp name="Sample.scope">all</stringProp>
244             </RegexExtractor>
245             <hashTree/>
246           </hashTree>
247           <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Logout" enabled="true">
248             <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
249               <collectionProp name="Arguments.arguments">
250                 <elementProp name="sesskey" elementType="HTTPArgument">
251                   <boolProp name="HTTPArgument.always_encode">false</boolProp>
252                   <stringProp name="Argument.value">${SESSION_SESSKEY}</stringProp>
253                   <stringProp name="Argument.metadata">=</stringProp>
254                   <boolProp name="HTTPArgument.use_equals">true</boolProp>
255                   <stringProp name="Argument.name">sesskey</stringProp>
256                 </elementProp>
257               </collectionProp>
258             </elementProp>
259             <stringProp name="HTTPSampler.domain"></stringProp>
260             <stringProp name="HTTPSampler.port"></stringProp>
261             <stringProp name="HTTPSampler.connect_timeout"></stringProp>
262             <stringProp name="HTTPSampler.response_timeout"></stringProp>
263             <stringProp name="HTTPSampler.protocol"></stringProp>
264             <stringProp name="HTTPSampler.contentEncoding"></stringProp>
265             <stringProp name="HTTPSampler.path">${sitepath}/login/logout.php</stringProp>
266             <stringProp name="HTTPSampler.method">GET</stringProp>
267             <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
268             <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
269             <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
270             <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
271             <boolProp name="HTTPSampler.monitor">false</boolProp>
272             <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
273           </HTTPSamplerProxy>
274           <hashTree/>
275         </hashTree>
276       </hashTree>
277       <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Moodle Test" enabled="true">
278         <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
279         <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
280           <boolProp name="LoopController.continue_forever">false</boolProp>
281           <stringProp name="LoopController.loops">${loops}</stringProp>
282         </elementProp>
283         <stringProp name="ThreadGroup.num_threads">${users}</stringProp>
284         <stringProp name="ThreadGroup.ramp_time">${rampup}</stringProp>
285         <longProp name="ThreadGroup.start_time">1376636813000</longProp>
286         <longProp name="ThreadGroup.end_time">1376636813000</longProp>
287         <boolProp name="ThreadGroup.scheduler">false</boolProp>
288         <stringProp name="ThreadGroup.duration"></stringProp>
289         <stringProp name="ThreadGroup.delay"></stringProp>
290       </ThreadGroup>
291       <hashTree>
292         <ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="Default site request" enabled="true">
293           <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
294             <collectionProp name="Arguments.arguments"/>
295           </elementProp>
296           <stringProp name="HTTPSampler.domain">${host}</stringProp>
297           <stringProp name="HTTPSampler.port"></stringProp>
298           <stringProp name="HTTPSampler.connect_timeout"></stringProp>
299           <stringProp name="HTTPSampler.response_timeout"></stringProp>
300           <stringProp name="HTTPSampler.protocol"></stringProp>
301           <stringProp name="HTTPSampler.contentEncoding"></stringProp>
302           <stringProp name="HTTPSampler.path">${sitepath}</stringProp>
303           <stringProp name="HTTPSampler.concurrentPool">4</stringProp>
304         </ConfigTestElement>
305         <hashTree/>
306         <CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="CSV users data" enabled="true">
307           <stringProp name="delimiter">,</stringProp>
308           <stringProp name="fileEncoding"></stringProp>
309           <stringProp name="filename">${__P(usersfile,YOU_FORGOT_TO_SPECIFY_USERS_CSV_FILE.csv)}</stringProp>
310           <boolProp name="quotedData">false</boolProp>
311           <boolProp name="recycle">true</boolProp>
312           <stringProp name="shareMode">All threads</stringProp>
313           <boolProp name="stopThread">false</boolProp>
314           <stringProp name="variableNames">username,password</stringProp>
315         </CSVDataSet>
316         <hashTree/>
317         <LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="Test plan loop" enabled="true">
318           <boolProp name="LoopController.continue_forever">true</boolProp>
319           <stringProp name="LoopController.loops">1</stringProp>
320         </LoopController>
321         <hashTree>
322           <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="HTTP Cookie Manager" enabled="true">
323             <collectionProp name="CookieManager.cookies"/>
324             <boolProp name="CookieManager.clearEachIteration">true</boolProp>
325             <stringProp name="CookieManager.policy">rfc2109</stringProp>
326           </CookieManager>
327           <hashTree/>
328           <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Frontpage not logged" enabled="true">
329             <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
330               <collectionProp name="Arguments.arguments"/>
331             </elementProp>
332             <stringProp name="HTTPSampler.domain"></stringProp>
333             <stringProp name="HTTPSampler.port"></stringProp>
334             <stringProp name="HTTPSampler.connect_timeout"></stringProp>
335             <stringProp name="HTTPSampler.response_timeout"></stringProp>
336             <stringProp name="HTTPSampler.protocol"></stringProp>
337             <stringProp name="HTTPSampler.contentEncoding"></stringProp>
338             <stringProp name="HTTPSampler.path"></stringProp>
339             <stringProp name="HTTPSampler.method">GET</stringProp>
340             <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
341             <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
342             <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
343             <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
344             <boolProp name="HTTPSampler.monitor">false</boolProp>
345             <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
346           </HTTPSamplerProxy>
347           <hashTree/>
348           <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Login" enabled="true">
349             <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
350               <collectionProp name="Arguments.arguments">
351                 <elementProp name="username" elementType="HTTPArgument">
352                   <boolProp name="HTTPArgument.always_encode">false</boolProp>
353                   <stringProp name="Argument.value">${username}</stringProp>
354                   <stringProp name="Argument.metadata">=</stringProp>
355                   <boolProp name="HTTPArgument.use_equals">true</boolProp>
356                   <stringProp name="Argument.name">username</stringProp>
357                 </elementProp>
358                 <elementProp name="password" elementType="HTTPArgument">
359                   <boolProp name="HTTPArgument.always_encode">false</boolProp>
360                   <stringProp name="Argument.value">${password}</stringProp>
361                   <stringProp name="Argument.metadata">=</stringProp>
362                   <boolProp name="HTTPArgument.use_equals">true</boolProp>
363                   <stringProp name="Argument.name">password</stringProp>
364                 </elementProp>
365               </collectionProp>
366             </elementProp>
367             <stringProp name="HTTPSampler.domain"></stringProp>
368             <stringProp name="HTTPSampler.port"></stringProp>
369             <stringProp name="HTTPSampler.connect_timeout"></stringProp>
370             <stringProp name="HTTPSampler.response_timeout"></stringProp>
371             <stringProp name="HTTPSampler.protocol"></stringProp>
372             <stringProp name="HTTPSampler.contentEncoding"></stringProp>
373             <stringProp name="HTTPSampler.path">${sitepath}/login/index.php</stringProp>
374             <stringProp name="HTTPSampler.method">POST</stringProp>
375             <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
376             <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
377             <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
378             <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
379             <boolProp name="HTTPSampler.monitor">false</boolProp>
380             <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
381           </HTTPSamplerProxy>
382           <hashTree>
383             <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Logged in" enabled="true">
384               <collectionProp name="Asserion.test_strings">
385                 <stringProp name="615717117">&lt;div class=&quot;logininfo&quot;&gt;You are logged in as</stringProp>
386               </collectionProp>
387               <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
388               <boolProp name="Assertion.assume_success">false</boolProp>
389               <intProp name="Assertion.test_type">2</intProp>
390             </ResponseAssertion>
391             <hashTree/>
392           </hashTree>
393           <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Frontpage logged" enabled="true">
394             <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
395               <collectionProp name="Arguments.arguments"/>
396             </elementProp>
397             <stringProp name="HTTPSampler.domain"></stringProp>
398             <stringProp name="HTTPSampler.port"></stringProp>
399             <stringProp name="HTTPSampler.connect_timeout"></stringProp>
400             <stringProp name="HTTPSampler.response_timeout"></stringProp>
401             <stringProp name="HTTPSampler.protocol"></stringProp>
402             <stringProp name="HTTPSampler.contentEncoding"></stringProp>
403             <stringProp name="HTTPSampler.path"></stringProp>
404             <stringProp name="HTTPSampler.method">GET</stringProp>
405             <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
406             <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
407             <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
408             <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
409             <boolProp name="HTTPSampler.monitor">false</boolProp>
410             <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
411           </HTTPSamplerProxy>
412           <hashTree/>
413           <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="View course" enabled="true">
414             <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
415               <collectionProp name="Arguments.arguments">
416                 <elementProp name="id" elementType="HTTPArgument">
417                   <boolProp name="HTTPArgument.always_encode">false</boolProp>
418                   <stringProp name="Argument.value">${courseid}</stringProp>
419                   <stringProp name="Argument.metadata">=</stringProp>
420                   <boolProp name="HTTPArgument.use_equals">true</boolProp>
421                   <stringProp name="Argument.name">id</stringProp>
422                 </elementProp>
423               </collectionProp>
424             </elementProp>
425             <stringProp name="HTTPSampler.domain"></stringProp>
426             <stringProp name="HTTPSampler.port"></stringProp>
427             <stringProp name="HTTPSampler.connect_timeout"></stringProp>
428             <stringProp name="HTTPSampler.response_timeout"></stringProp>
429             <stringProp name="HTTPSampler.protocol"></stringProp>
430             <stringProp name="HTTPSampler.contentEncoding"></stringProp>
431             <stringProp name="HTTPSampler.path">${sitepath}/course/view.php</stringProp>
432             <stringProp name="HTTPSampler.method">GET</stringProp>
433             <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
434             <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
435             <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
436             <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
437             <boolProp name="HTTPSampler.monitor">false</boolProp>
438             <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
439             <stringProp name="TestPlan.comments">               </stringProp>
440           </HTTPSamplerProxy>
441           <hashTree/>
442           <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="View a page activity" enabled="true">
443             <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
444               <collectionProp name="Arguments.arguments">
445                 <elementProp name="id" elementType="HTTPArgument">
446                   <boolProp name="HTTPArgument.always_encode">false</boolProp>
447                   <stringProp name="Argument.value">${pageactivityid}</stringProp>
448                   <stringProp name="Argument.metadata">=</stringProp>
449                   <boolProp name="HTTPArgument.use_equals">true</boolProp>
450                   <stringProp name="Argument.name">id</stringProp>
451                 </elementProp>
452               </collectionProp>
453             </elementProp>
454             <stringProp name="HTTPSampler.domain"></stringProp>
455             <stringProp name="HTTPSampler.port"></stringProp>
456             <stringProp name="HTTPSampler.connect_timeout"></stringProp>
457             <stringProp name="HTTPSampler.response_timeout"></stringProp>
458             <stringProp name="HTTPSampler.protocol"></stringProp>
459             <stringProp name="HTTPSampler.contentEncoding"></stringProp>
460             <stringProp name="HTTPSampler.path">${sitepath}/mod/page/view.php</stringProp>
461             <stringProp name="HTTPSampler.method">GET</stringProp>
462             <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
463             <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
464             <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
465             <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
466             <boolProp name="HTTPSampler.monitor">false</boolProp>
467             <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
468           </HTTPSamplerProxy>
469           <hashTree/>
470           <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="View course again" enabled="true">
471             <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
472               <collectionProp name="Arguments.arguments">
473                 <elementProp name="id" elementType="HTTPArgument">
474                   <boolProp name="HTTPArgument.always_encode">false</boolProp>
475                   <stringProp name="Argument.value">${courseid}</stringProp>
476                   <stringProp name="Argument.metadata">=</stringProp>
477                   <boolProp name="HTTPArgument.use_equals">true</boolProp>
478                   <stringProp name="Argument.name">id</stringProp>
479                 </elementProp>
480               </collectionProp>
481             </elementProp>
482             <stringProp name="HTTPSampler.domain"></stringProp>
483             <stringProp name="HTTPSampler.port"></stringProp>
484             <stringProp name="HTTPSampler.connect_timeout"></stringProp>
485             <stringProp name="HTTPSampler.response_timeout"></stringProp>
486             <stringProp name="HTTPSampler.protocol"></stringProp>
487             <stringProp name="HTTPSampler.contentEncoding"></stringProp>
488             <stringProp name="HTTPSampler.path">${sitepath}/course/view.php</stringProp>
489             <stringProp name="HTTPSampler.method">GET</stringProp>
490             <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
491             <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
492             <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
493             <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
494             <boolProp name="HTTPSampler.monitor">false</boolProp>
495             <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
496           </HTTPSamplerProxy>
497           <hashTree/>
498           <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="View a forum activity" enabled="true">
499             <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
500               <collectionProp name="Arguments.arguments">
501                 <elementProp name="id" elementType="HTTPArgument">
502                   <boolProp name="HTTPArgument.always_encode">false</boolProp>
503                   <stringProp name="Argument.value">${forumactivityid}</stringProp>
504                   <stringProp name="Argument.metadata">=</stringProp>
505                   <boolProp name="HTTPArgument.use_equals">true</boolProp>
506                   <stringProp name="Argument.name">id</stringProp>
507                 </elementProp>
508               </collectionProp>
509             </elementProp>
510             <stringProp name="HTTPSampler.domain"></stringProp>
511             <stringProp name="HTTPSampler.port"></stringProp>
512             <stringProp name="HTTPSampler.connect_timeout"></stringProp>
513             <stringProp name="HTTPSampler.response_timeout"></stringProp>
514             <stringProp name="HTTPSampler.protocol"></stringProp>
515             <stringProp name="HTTPSampler.contentEncoding"></stringProp>
516             <stringProp name="HTTPSampler.path">${sitepath}/mod/forum/view.php</stringProp>
517             <stringProp name="HTTPSampler.method">GET</stringProp>
518             <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
519             <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
520             <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
521             <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
522             <boolProp name="HTTPSampler.monitor">false</boolProp>
523             <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
524           </HTTPSamplerProxy>
525           <hashTree/>
526           <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="View a forum discussion" enabled="true">
527             <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
528               <collectionProp name="Arguments.arguments">
529                 <elementProp name="d" elementType="HTTPArgument">
530                   <boolProp name="HTTPArgument.always_encode">false</boolProp>
531                   <stringProp name="Argument.value">${forumdiscussionid}</stringProp>
532                   <stringProp name="Argument.metadata">=</stringProp>
533                   <boolProp name="HTTPArgument.use_equals">true</boolProp>
534                   <stringProp name="Argument.name">d</stringProp>
535                 </elementProp>
536               </collectionProp>
537             </elementProp>
538             <stringProp name="HTTPSampler.domain"></stringProp>
539             <stringProp name="HTTPSampler.port"></stringProp>
540             <stringProp name="HTTPSampler.connect_timeout"></stringProp>
541             <stringProp name="HTTPSampler.response_timeout"></stringProp>
542             <stringProp name="HTTPSampler.protocol"></stringProp>
543             <stringProp name="HTTPSampler.contentEncoding"></stringProp>
544             <stringProp name="HTTPSampler.path">${sitepath}/mod/forum/discuss.php</stringProp>
545             <stringProp name="HTTPSampler.method">GET</stringProp>
546             <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
547             <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
548             <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
549             <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
550             <boolProp name="HTTPSampler.monitor">false</boolProp>
551             <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
552           </HTTPSamplerProxy>
553           <hashTree/>
554           <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Fill a form to reply a forum discussion" enabled="true">
555             <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
556               <collectionProp name="Arguments.arguments">
557                 <elementProp name="reply" elementType="HTTPArgument">
558                   <boolProp name="HTTPArgument.always_encode">false</boolProp>
559                   <stringProp name="Argument.value">${forumreplyid}</stringProp>
560                   <stringProp name="Argument.metadata">=</stringProp>
561                   <boolProp name="HTTPArgument.use_equals">true</boolProp>
562                   <stringProp name="Argument.name">reply</stringProp>
563                 </elementProp>
564               </collectionProp>
565             </elementProp>
566             <stringProp name="HTTPSampler.domain"></stringProp>
567             <stringProp name="HTTPSampler.port"></stringProp>
568             <stringProp name="HTTPSampler.connect_timeout"></stringProp>
569             <stringProp name="HTTPSampler.response_timeout"></stringProp>
570             <stringProp name="HTTPSampler.protocol"></stringProp>
571             <stringProp name="HTTPSampler.contentEncoding"></stringProp>
572             <stringProp name="HTTPSampler.path">${sitepath}/mod/forum/post.php</stringProp>
573             <stringProp name="HTTPSampler.method">GET</stringProp>
574             <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
575             <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
576             <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
577             <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
578             <boolProp name="HTTPSampler.monitor">false</boolProp>
579             <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
580           </HTTPSamplerProxy>
581           <hashTree>
582             <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Get session userid" enabled="true">
583               <stringProp name="RegexExtractor.useHeaders">false</stringProp>
584               <stringProp name="RegexExtractor.refname">SESSION_USERID</stringProp>
585               <stringProp name="RegexExtractor.regex">name=&quot;userid&quot;\stype=&quot;hidden&quot;\svalue=&quot;(\d+)&quot;</stringProp>
586               <stringProp name="RegexExtractor.template">$1$</stringProp>
587               <stringProp name="RegexExtractor.default">0</stringProp>
588               <stringProp name="RegexExtractor.match_number">1</stringProp>
589             </RegexExtractor>
590             <hashTree/>
591             <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Get session sesskey" enabled="true">
592               <stringProp name="RegexExtractor.useHeaders">false</stringProp>
593               <stringProp name="RegexExtractor.refname">SESSION_SESSKEY</stringProp>
594               <stringProp name="RegexExtractor.regex">name=&quot;sesskey&quot;\stype=&quot;hidden&quot;\svalue=&quot;([^&quot;]+)&quot;</stringProp>
595               <stringProp name="RegexExtractor.template">$1$</stringProp>
596               <stringProp name="RegexExtractor.default">0</stringProp>
597               <stringProp name="RegexExtractor.match_number">1</stringProp>
598             </RegexExtractor>
599             <hashTree/>
600             <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Get forum form attachments" enabled="true">
601               <stringProp name="RegexExtractor.useHeaders">false</stringProp>
602               <stringProp name="RegexExtractor.refname">SESSION_FORUMFORMATTACHMENTS</stringProp>
603               <stringProp name="RegexExtractor.regex">value=&quot;(\d+)&quot;\sname=&quot;attachments&quot;\stype=&quot;hidden&quot;</stringProp>
604               <stringProp name="RegexExtractor.template">$1$</stringProp>
605               <stringProp name="RegexExtractor.default">0</stringProp>
606               <stringProp name="RegexExtractor.match_number">1</stringProp>
607             </RegexExtractor>
608             <hashTree/>
609             <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Get forum form itemid" enabled="true">
610               <stringProp name="RegexExtractor.useHeaders">false</stringProp>
611               <stringProp name="RegexExtractor.refname">SESSION_FORUMFORMITEMID</stringProp>
612               <stringProp name="RegexExtractor.regex">type=&quot;hidden&quot;\sname=&quot;message\[itemid\]&quot;\svalue=&quot;(\d+)&quot;</stringProp>
613               <stringProp name="RegexExtractor.template">$1$</stringProp>
614               <stringProp name="RegexExtractor.default">0</stringProp>
615               <stringProp name="RegexExtractor.match_number">1</stringProp>
616             </RegexExtractor>
617             <hashTree/>
618           </hashTree>
619           <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Send the forum discussion reply" enabled="true">
620             <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
621               <collectionProp name="Arguments.arguments">
622                 <elementProp name="course" elementType="HTTPArgument">
623                   <boolProp name="HTTPArgument.always_encode">false</boolProp>
624                   <stringProp name="Argument.value">${courseid}</stringProp>
625                   <stringProp name="Argument.metadata">=</stringProp>
626                   <boolProp name="HTTPArgument.use_equals">true</boolProp>
627                   <stringProp name="Argument.name">course</stringProp>
628                 </elementProp>
629                 <elementProp name="forum" elementType="HTTPArgument">
630                   <boolProp name="HTTPArgument.always_encode">false</boolProp>
631                   <stringProp name="Argument.value">0</stringProp>
632                   <stringProp name="Argument.metadata">=</stringProp>
633                   <boolProp name="HTTPArgument.use_equals">true</boolProp>
634                   <stringProp name="Argument.name">forum</stringProp>
635                 </elementProp>
636                 <elementProp name="discussion" elementType="HTTPArgument">
637                   <boolProp name="HTTPArgument.always_encode">false</boolProp>
638                   <stringProp name="Argument.value">${forumdiscussionid}</stringProp>
639                   <stringProp name="Argument.metadata">=</stringProp>
640                   <boolProp name="HTTPArgument.use_equals">true</boolProp>
641                   <stringProp name="Argument.name">discussion</stringProp>
642                 </elementProp>
643                 <elementProp name="userid" elementType="HTTPArgument">
644                   <boolProp name="HTTPArgument.always_encode">false</boolProp>
645                   <stringProp name="Argument.value">${SESSION_USERID}</stringProp>
646                   <stringProp name="Argument.metadata">=</stringProp>
647                   <boolProp name="HTTPArgument.use_equals">true</boolProp>
648                   <stringProp name="Argument.name">userid</stringProp>
649                 </elementProp>
650                 <elementProp name="groupid" elementType="HTTPArgument">
651                   <boolProp name="HTTPArgument.always_encode">false</boolProp>
652                   <stringProp name="Argument.value">0</stringProp>
653                   <stringProp name="Argument.metadata">=</stringProp>
654                   <boolProp name="HTTPArgument.use_equals">true</boolProp>
655                   <stringProp name="Argument.name">groupid</stringProp>
656                 </elementProp>
657                 <elementProp name="edit" elementType="HTTPArgument">
658                   <boolProp name="HTTPArgument.always_encode">false</boolProp>
659                   <stringProp name="Argument.value">0</stringProp>
660                   <stringProp name="Argument.metadata">=</stringProp>
661                   <boolProp name="HTTPArgument.use_equals">true</boolProp>
662                   <stringProp name="Argument.name">edit</stringProp>
663                 </elementProp>
664                 <elementProp name="reply" elementType="HTTPArgument">
665                   <boolProp name="HTTPArgument.always_encode">false</boolProp>
666                   <stringProp name="Argument.value">${forumreplyid}</stringProp>
667                   <stringProp name="Argument.metadata">=</stringProp>
668                   <boolProp name="HTTPArgument.use_equals">true</boolProp>
669                   <stringProp name="Argument.name">reply</stringProp>
670                 </elementProp>
671                 <elementProp name="sesskey" elementType="HTTPArgument">
672                   <boolProp name="HTTPArgument.always_encode">false</boolProp>
673                   <stringProp name="Argument.value">${SESSION_SESSKEY}</stringProp>
674                   <stringProp name="Argument.metadata">=</stringProp>
675                   <boolProp name="HTTPArgument.use_equals">true</boolProp>
676                   <stringProp name="Argument.name">sesskey</stringProp>
677                 </elementProp>
678                 <elementProp name="_qf__mod_forum_post_form" elementType="HTTPArgument">
679                   <boolProp name="HTTPArgument.always_encode">false</boolProp>
680                   <stringProp name="Argument.value">1</stringProp>
681                   <stringProp name="Argument.metadata">=</stringProp>
682                   <boolProp name="HTTPArgument.use_equals">true</boolProp>
683                   <stringProp name="Argument.name">_qf__mod_forum_post_form</stringProp>
684                 </elementProp>
685                 <elementProp name="subject" elementType="HTTPArgument">
686                   <boolProp name="HTTPArgument.always_encode">false</boolProp>
687                   <stringProp name="Argument.value">Re: I am the test plan reply subject</stringProp>
688                   <stringProp name="Argument.metadata">=</stringProp>
689                   <boolProp name="HTTPArgument.use_equals">true</boolProp>
690                   <stringProp name="Argument.name">subject</stringProp>
691                 </elementProp>
692                 <elementProp name="message[itemid]" elementType="HTTPArgument">
693                   <boolProp name="HTTPArgument.always_encode">false</boolProp>
694                   <stringProp name="Argument.value">${SESSION_FORUMFORMITEMID}</stringProp>
695                   <stringProp name="Argument.metadata">=</stringProp>
696                   <boolProp name="HTTPArgument.use_equals">true</boolProp>
697                   <stringProp name="Argument.name">message[itemid]</stringProp>
698                 </elementProp>
699                 <elementProp name="message[format]" elementType="HTTPArgument">
700                   <boolProp name="HTTPArgument.always_encode">false</boolProp>
701                   <stringProp name="Argument.value">1</stringProp>
702                   <stringProp name="Argument.metadata">=</stringProp>
703                   <boolProp name="HTTPArgument.use_equals">true</boolProp>
704                   <stringProp name="Argument.name">message[format]</stringProp>
705                 </elementProp>
706                 <elementProp name="message[text]" elementType="HTTPArgument">
707                   <boolProp name="HTTPArgument.always_encode">false</boolProp>
708                   <stringProp name="Argument.value">I am the test plan reply message</stringProp>
709                   <stringProp name="Argument.metadata">=</stringProp>
710                   <boolProp name="HTTPArgument.use_equals">true</boolProp>
711                   <stringProp name="Argument.name">message[text]</stringProp>
712                 </elementProp>
713                 <elementProp name="parent" elementType="HTTPArgument">
714                   <boolProp name="HTTPArgument.always_encode">false</boolProp>
715                   <stringProp name="Argument.value">${forumreplyid}</stringProp>
716                   <stringProp name="Argument.metadata">=</stringProp>
717                   <boolProp name="HTTPArgument.use_equals">true</boolProp>
718                   <stringProp name="Argument.name">parent</stringProp>
719                 </elementProp>
720                 <elementProp name="subscribe" elementType="HTTPArgument">
721                   <boolProp name="HTTPArgument.always_encode">false</boolProp>
722                   <stringProp name="Argument.value">1</stringProp>
723                   <stringProp name="Argument.metadata">=</stringProp>
724                   <boolProp name="HTTPArgument.use_equals">true</boolProp>
725                   <stringProp name="Argument.name">subscribe</stringProp>
726                 </elementProp>
727                 <elementProp name="attachments" elementType="HTTPArgument">
728                   <boolProp name="HTTPArgument.always_encode">false</boolProp>
729                   <stringProp name="Argument.value">${SESSION_FORUMFORMATTACHMENTS}</stringProp>
730                   <stringProp name="Argument.metadata">=</stringProp>
731                   <boolProp name="HTTPArgument.use_equals">true</boolProp>
732                   <stringProp name="Argument.name">attachments</stringProp>
733                 </elementProp>
734                 <elementProp name="timestart" elementType="HTTPArgument">
735                   <boolProp name="HTTPArgument.always_encode">false</boolProp>
736                   <stringProp name="Argument.value">0</stringProp>
737                   <stringProp name="Argument.metadata">=</stringProp>
738                   <boolProp name="HTTPArgument.use_equals">true</boolProp>
739                   <stringProp name="Argument.name">timestart</stringProp>
740                 </elementProp>
741                 <elementProp name="timeend" elementType="HTTPArgument">
742                   <boolProp name="HTTPArgument.always_encode">false</boolProp>
743                   <stringProp name="Argument.value">0</stringProp>
744                   <stringProp name="Argument.metadata">=</stringProp>
745                   <boolProp name="HTTPArgument.use_equals">true</boolProp>
746                   <stringProp name="Argument.name">timeend</stringProp>
747                 </elementProp>
748                 <elementProp name="submitbutton" elementType="HTTPArgument">
749                   <boolProp name="HTTPArgument.always_encode">false</boolProp>
750                   <stringProp name="Argument.value">Post to forum</stringProp>
751                   <stringProp name="Argument.metadata">=</stringProp>
752                   <boolProp name="HTTPArgument.use_equals">true</boolProp>
753                   <stringProp name="Argument.name">submitbutton</stringProp>
754                 </elementProp>
755               </collectionProp>
756             </elementProp>
757             <stringProp name="HTTPSampler.domain"></stringProp>
758             <stringProp name="HTTPSampler.port"></stringProp>
759             <stringProp name="HTTPSampler.connect_timeout"></stringProp>
760             <stringProp name="HTTPSampler.response_timeout"></stringProp>
761             <stringProp name="HTTPSampler.protocol"></stringProp>
762             <stringProp name="HTTPSampler.contentEncoding"></stringProp>
763             <stringProp name="HTTPSampler.path">${sitepath}/mod/forum/post.php</stringProp>
764             <stringProp name="HTTPSampler.method">POST</stringProp>
765             <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
766             <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
767             <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
768             <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
769             <boolProp name="HTTPSampler.monitor">false</boolProp>
770             <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
771           </HTTPSamplerProxy>
772           <hashTree/>
773           <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="View course once more" enabled="true">
774             <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
775               <collectionProp name="Arguments.arguments">
776                 <elementProp name="id" elementType="HTTPArgument">
777                   <boolProp name="HTTPArgument.always_encode">false</boolProp>
778                   <stringProp name="Argument.value">${courseid}</stringProp>
779                   <stringProp name="Argument.metadata">=</stringProp>
780                   <boolProp name="HTTPArgument.use_equals">true</boolProp>
781                   <stringProp name="Argument.name">id</stringProp>
782                 </elementProp>
783               </collectionProp>
784             </elementProp>
785             <stringProp name="HTTPSampler.domain"></stringProp>
786             <stringProp name="HTTPSampler.port"></stringProp>
787             <stringProp name="HTTPSampler.connect_timeout"></stringProp>
788             <stringProp name="HTTPSampler.response_timeout"></stringProp>
789             <stringProp name="HTTPSampler.protocol"></stringProp>
790             <stringProp name="HTTPSampler.contentEncoding"></stringProp>
791             <stringProp name="HTTPSampler.path">${sitepath}/course/view.php</stringProp>
792             <stringProp name="HTTPSampler.method">GET</stringProp>
793             <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
794             <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
795             <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
796             <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
797             <boolProp name="HTTPSampler.monitor">false</boolProp>
798             <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
799           </HTTPSamplerProxy>
800           <hashTree/>
801           <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="View course participants" enabled="true">
802             <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
803               <collectionProp name="Arguments.arguments">
804                 <elementProp name="id" elementType="HTTPArgument">
805                   <boolProp name="HTTPArgument.always_encode">false</boolProp>
806                   <stringProp name="Argument.value">${courseid}</stringProp>
807                   <stringProp name="Argument.metadata">=</stringProp>
808                   <boolProp name="HTTPArgument.use_equals">true</boolProp>
809                   <stringProp name="Argument.name">id</stringProp>
810                 </elementProp>
811               </collectionProp>
812             </elementProp>
813             <stringProp name="HTTPSampler.domain"></stringProp>
814             <stringProp name="HTTPSampler.port"></stringProp>
815             <stringProp name="HTTPSampler.connect_timeout"></stringProp>
816             <stringProp name="HTTPSampler.response_timeout"></stringProp>
817             <stringProp name="HTTPSampler.protocol"></stringProp>
818             <stringProp name="HTTPSampler.contentEncoding"></stringProp>
819             <stringProp name="HTTPSampler.path">${sitepath}/user/index.php</stringProp>
820             <stringProp name="HTTPSampler.method">GET</stringProp>
821             <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
822             <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
823             <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
824             <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
825             <boolProp name="HTTPSampler.monitor">false</boolProp>
826             <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
827           </HTTPSamplerProxy>
828           <hashTree/>
829           <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Logout" enabled="true">
830             <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
831               <collectionProp name="Arguments.arguments">
832                 <elementProp name="sesskey" elementType="HTTPArgument">
833                   <boolProp name="HTTPArgument.always_encode">false</boolProp>
834                   <stringProp name="Argument.value">${SESSION_SESSKEY}</stringProp>
835                   <stringProp name="Argument.metadata">=</stringProp>
836                   <boolProp name="HTTPArgument.use_equals">true</boolProp>
837                   <stringProp name="Argument.name">sesskey</stringProp>
838                 </elementProp>
839               </collectionProp>
840             </elementProp>
841             <stringProp name="HTTPSampler.domain"></stringProp>
842             <stringProp name="HTTPSampler.port"></stringProp>
843             <stringProp name="HTTPSampler.connect_timeout"></stringProp>
844             <stringProp name="HTTPSampler.response_timeout"></stringProp>
845             <stringProp name="HTTPSampler.protocol"></stringProp>
846             <stringProp name="HTTPSampler.contentEncoding"></stringProp>
847             <stringProp name="HTTPSampler.path">${sitepath}/login/logout.php</stringProp>
848             <stringProp name="HTTPSampler.method">GET</stringProp>
849             <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
850             <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
851             <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
852             <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
853             <boolProp name="HTTPSampler.monitor">false</boolProp>
854             <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
855           </HTTPSamplerProxy>
856           <hashTree/>
857         </hashTree>
858         <BeanShellListener guiclass="TestBeanGUI" testclass="BeanShellListener" testname="Create php array results" enabled="true">
859           <stringProp name="filename">recorder.bsf</stringProp>
860           <stringProp name="parameters"></stringProp>
861           <boolProp name="resetInterpreter">false</boolProp>
862           <stringProp name="script"></stringProp>
863         </BeanShellListener>
864         <hashTree/>
865         <ResultCollector guiclass="SimpleDataWriter" testclass="ResultCollector" testname="Simple Data Writer" enabled="true">
866           <boolProp name="ResultCollector.error_logging">false</boolProp>
867           <objProp>
868             <name>saveConfig</name>
869             <value class="SampleSaveConfiguration">
870               <time>true</time>
871               <latency>true</latency>
872               <timestamp>true</timestamp>
873               <success>true</success>
874               <label>true</label>
875               <code>true</code>
876               <message>true</message>
877               <threadName>true</threadName>
878               <dataType>true</dataType>
879               <encoding>false</encoding>
880               <assertions>true</assertions>
881               <subresults>true</subresults>
882               <responseData>false</responseData>
883               <samplerData>false</samplerData>
884               <xml>true</xml>
885               <fieldNames>false</fieldNames>
886               <responseHeaders>false</responseHeaders>
887               <requestHeaders>false</requestHeaders>
888               <responseDataOnError>false</responseDataOnError>
889               <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
890               <assertionsResultsToSave>0</assertionsResultsToSave>
891               <bytes>true</bytes>
892             </value>
893           </objProp>
894           <stringProp name="filename">runs_samples/data.${runtimestamp}.jtl</stringProp>
895         </ResultCollector>
896         <hashTree/>
897       </hashTree>
898     </hashTree>
899   </hashTree>
900 </jmeterTestPlan>