blob: 2e3d4aa754bdb0fe61052fe5f1c1a967d60c4ad3 [file] [log] [blame]
刘洪青47205852020-08-14 13:39:30 +08001<?xml version="1.0" encoding="UTF-8"?>
2<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.2.1">
3 <hashTree>
4 <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Admin Center SSO Tests" enabled="true">
5 <stringProp name="TestPlan.comments"></stringProp>
6 <boolProp name="TestPlan.functional_mode">false</boolProp>
7 <boolProp name="TestPlan.serialize_threadgroups">false</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>
11 <stringProp name="TestPlan.user_define_classpath"></stringProp>
12 </TestPlan>
13 <hashTree>
14 <Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
15 <collectionProp name="Arguments.arguments">
16 <elementProp name="ThreadCount" elementType="Argument">
17 <stringProp name="Argument.name">ThreadCount</stringProp>
18 <stringProp name="Argument.value">100</stringProp>
19 <stringProp name="Argument.metadata">=</stringProp>
20 <stringProp name="Argument.desc">Number of Threads</stringProp>
21 </elementProp>
22 <elementProp name="Duration" elementType="Argument">
23 <stringProp name="Argument.name">Duration</stringProp>
24 <stringProp name="Argument.value">120</stringProp>
25 <stringProp name="Argument.metadata">=</stringProp>
26 <stringProp name="Argument.desc">in seconds</stringProp>
27 </elementProp>
28 <elementProp name="startupDelay" elementType="Argument">
29 <stringProp name="Argument.name">startupDelay</stringProp>
30 <stringProp name="Argument.value">3</stringProp>
31 <stringProp name="Argument.metadata">=</stringProp>
32 <stringProp name="Argument.desc">in seconds</stringProp>
33 </elementProp>
34 <elementProp name="RampUpPeriod" elementType="Argument">
35 <stringProp name="Argument.name">RampUpPeriod</stringProp>
36 <stringProp name="Argument.value">3</stringProp>
37 <stringProp name="Argument.metadata">=</stringProp>
38 <stringProp name="Argument.desc">in seconds</stringProp>
39 </elementProp>
40 <elementProp name="IdPHost" elementType="Argument">
41 <stringProp name="Argument.name">IdPHost</stringProp>
42 <stringProp name="Argument.value">http://172.50.10.56</stringProp>
43 <stringProp name="Argument.metadata">=</stringProp>
44 <stringProp name="Argument.desc">The main URL of your CAS Instance</stringProp>
45 </elementProp>
46 <elementProp name="IdPPort" elementType="Argument">
47 <stringProp name="Argument.name">IdPPort</stringProp>
48 <stringProp name="Argument.value">443</stringProp>
49 <stringProp name="Argument.metadata">=</stringProp>
50 </elementProp>
51 <elementProp name="IdPContext" elementType="Argument">
52 <stringProp name="Argument.name">IdPContext</stringProp>
53 <stringProp name="Argument.value">idp</stringProp>
54 <stringProp name="Argument.metadata">=</stringProp>
55 </elementProp>
56 <elementProp name="CasSP" elementType="Argument">
57 <stringProp name="Argument.name">CasSP</stringProp>
58 <stringProp name="Argument.value">http://172.50.10.37:8080/cas/login</stringProp>
59 <stringProp name="Argument.metadata">=</stringProp>
60 <stringProp name="Argument.desc">Service Provider url</stringProp>
61 </elementProp>
62 <elementProp name="CasSP-example" elementType="Argument">
63 <stringProp name="Argument.name">CasSP-example</stringProp>
64 <stringProp name="Argument.value">https://example.com/index.html</stringProp>
65 <stringProp name="Argument.metadata">=</stringProp>
66 </elementProp>
67 <elementProp name="AdminCenterHost" elementType="Argument">
68 <stringProp name="Argument.name">AdminCenterHost</stringProp>
69 <stringProp name="Argument.value">http://172.50.10.37:8080</stringProp>
70 <stringProp name="Argument.metadata">=</stringProp>
71 </elementProp>
72 <elementProp name="token2" elementType="Argument">
73 <stringProp name="Argument.name">token2</stringProp>
74 <stringProp name="Argument.value">eyJhbGciOiJSUzUxMiJ9.eyJBVFRSX3VzZXJObyI6InNtYXJ0YWRtaW4iLCJzdWIiOiJzbWFydGFkbWluIiwiQVRUUl9pZGVudGl0eSI6Iua1geeoi-acjeWKoeeuoeeQhuWRmCIsImlzcyI6ImNhcy5zdXB3aXNkb20uY29tIiwiQVRUUl9vcmdhbml6YXRpb24iOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJBVFRSX2lkZW50aXR5VHlwZUlkIjoiNTRkZGE3YjA1MzkwMTFlYWUwZDRhZDg5ZjkwNzkyZDQiLCJBVFRSX2FjY291bnRJZCI6IjEiLCJBVFRSX3VzZXJJZCI6IjEiLCJBVFRSX25hbWUiOiLmmbrmhafmoKHlm63nrqHnkIblkZgiLCJBVFRSX2lkZW50aXR5VHlwZUNvZGUiOiIwNDMyMTEiLCJBVFRSX2lkZW50aXR5VHlwZU5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIblkZgiLCJBVFRSX29yZ2FuaXphdGlvbk5hbWUiOiLmtYHnqIvmnI3liqHnrqHnkIYiLCJleHAiOjE1ODc1NjcwNjAsIkFUVFJfb3JnYW5pemF0aW9uSWQiOiI3Njg5MGEzMDUzOTAxMWVhZTBkNGFkODlmOTA3OTJkNCIsImlhdCI6MTU4NzUzODI2MCwianRpIjoiSUQtVG9rZW4tMS1OeUVvVmFnTFcxMUxwaDZJdmE0WTVFLUo2eUc5SFd1UyIsInJlcSI6bnVsbCwiQVRUUl9vcmdhbml6YXRpb25Db2RlIjoiMDQzMjEifQ.Ga-Lsw5ipKCEfn6abUb8p9JKKg1nGDOv8SbHKzFtJzTuxuzVp6ETCGneOGOUY17inICxwCxflCdlm5Tu0nIY-1dIXEilVL27Pgm6FF8UAfASYXJ1fITOOjDjemOoFReQqXmP9_jIhcP28hzB4uiTA9mdxXlriPMIsWPzeo8t36B1bW6RDsPOu4EgLbhZ4Q1UtIETaNQ43TwTnhhuf41CqBBPYwQawFIMi2IGFqbDXpMpN-zRHvVJH9xs_pQa_LAxjSiPL1NMHkCuyD5zT8QwJ11sMc-ZIqXqzsjRulWzSUtYVHbBDRRTJx5uX0QU0W39glmB80zU-dmZHc7fcOG_Lg</stringProp>
75 <stringProp name="Argument.metadata">=</stringProp>
76 </elementProp>
77 </collectionProp>
78 </Arguments>
79 <hashTree/>
80 <CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="CSV Get Users/Passwords" enabled="false">
81 <stringProp name="filename"></stringProp>
82 <stringProp name="fileEncoding"></stringProp>
83 <stringProp name="variableNames">User,Password</stringProp>
84 <stringProp name="delimiter">,</stringProp>
85 <boolProp name="quotedData">false</boolProp>
86 <boolProp name="recycle">true</boolProp>
87 <boolProp name="stopThread">false</boolProp>
88 <stringProp name="shareMode">shareMode.all</stringProp>
89 <boolProp name="ignoreFirstLine">false</boolProp>
90 </CSVDataSet>
91 <hashTree/>
92 <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="HTTP Cookie Manager" enabled="true">
93 <collectionProp name="CookieManager.cookies"/>
94 <boolProp name="CookieManager.clearEachIteration">true</boolProp>
95 <boolProp name="CookieManager.controlledByThreadGroup">false</boolProp>
96 </CookieManager>
97 <hashTree/>
98 <ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP Request Defaults" enabled="true">
99 <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
100 <collectionProp name="Arguments.arguments"/>
101 </elementProp>
102 <stringProp name="HTTPSampler.domain"></stringProp>
103 <stringProp name="HTTPSampler.port"></stringProp>
104 <stringProp name="HTTPSampler.protocol">https</stringProp>
105 <stringProp name="HTTPSampler.contentEncoding"></stringProp>
106 <stringProp name="HTTPSampler.path"></stringProp>
107 <stringProp name="HTTPSampler.concurrentPool">4</stringProp>
108 <stringProp name="HTTPSampler.implementation">HttpClient4</stringProp>
109 <stringProp name="HTTPSampler.connect_timeout">120000</stringProp>
110 <stringProp name="HTTPSampler.response_timeout">120000</stringProp>
111 </ConfigTestElement>
112 <hashTree/>
113 <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="false">
114 <boolProp name="ResultCollector.error_logging">false</boolProp>
115 <objProp>
116 <name>saveConfig</name>
117 <value class="SampleSaveConfiguration">
118 <time>true</time>
119 <latency>true</latency>
120 <timestamp>true</timestamp>
121 <success>true</success>
122 <label>true</label>
123 <code>true</code>
124 <message>true</message>
125 <threadName>true</threadName>
126 <dataType>true</dataType>
127 <encoding>false</encoding>
128 <assertions>true</assertions>
129 <subresults>true</subresults>
130 <responseData>false</responseData>
131 <samplerData>false</samplerData>
132 <xml>false</xml>
133 <fieldNames>false</fieldNames>
134 <responseHeaders>false</responseHeaders>
135 <requestHeaders>false</requestHeaders>
136 <responseDataOnError>false</responseDataOnError>
137 <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
138 <assertionsResultsToSave>0</assertionsResultsToSave>
139 <bytes>true</bytes>
140 <threadCounts>true</threadCounts>
141 </value>
142 </objProp>
143 <stringProp name="filename"></stringProp>
144 </ResultCollector>
145 <hashTree/>
146 <ResultCollector guiclass="StatVisualizer" testclass="ResultCollector" testname="Aggregate Report" enabled="false">
147 <boolProp name="ResultCollector.error_logging">false</boolProp>
148 <objProp>
149 <name>saveConfig</name>
150 <value class="SampleSaveConfiguration">
151 <time>true</time>
152 <latency>true</latency>
153 <timestamp>true</timestamp>
154 <success>true</success>
155 <label>true</label>
156 <code>true</code>
157 <message>false</message>
158 <threadName>false</threadName>
159 <dataType>false</dataType>
160 <encoding>false</encoding>
161 <assertions>false</assertions>
162 <subresults>false</subresults>
163 <responseData>false</responseData>
164 <samplerData>false</samplerData>
165 <xml>false</xml>
166 <fieldNames>false</fieldNames>
167 <responseHeaders>false</responseHeaders>
168 <requestHeaders>false</requestHeaders>
169 <responseDataOnError>false</responseDataOnError>
170 <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
171 <assertionsResultsToSave>0</assertionsResultsToSave>
172 <threadCounts>true</threadCounts>
173 </value>
174 </objProp>
175 <stringProp name="filename"></stringProp>
176 <boolProp name="useGroupName">true</boolProp>
177 </ResultCollector>
178 <hashTree/>
179 <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Typical Admin Center API test" enabled="true">
180 <stringProp name="ThreadGroup.on_sample_error">startnextloop</stringProp>
181 <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
182 <boolProp name="LoopController.continue_forever">false</boolProp>
183 <intProp name="LoopController.loops">-1</intProp>
184 </elementProp>
185 <stringProp name="ThreadGroup.num_threads">${ThreadCount}</stringProp>
186 <stringProp name="ThreadGroup.ramp_time">${RampUpPeriod}</stringProp>
187 <longProp name="ThreadGroup.start_time">1500501626000</longProp>
188 <longProp name="ThreadGroup.end_time">1500501626000</longProp>
189 <boolProp name="ThreadGroup.scheduler">true</boolProp>
190 <stringProp name="ThreadGroup.duration">${Duration}</stringProp>
191 <stringProp name="ThreadGroup.delay">${StartupDelay}</stringProp>
192 <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
193 </ThreadGroup>
194 <hashTree>
195 <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - Admin Center JWT" enabled="true">
196 <collectionProp name="ModuleController.node_path">
197 <stringProp name="764597751">Test Plan</stringProp>
198 <stringProp name="1721197430">Admin Center SSO Tests</stringProp>
199 <stringProp name="325771466">GET - Admin Center JWT</stringProp>
200 </collectionProp>
201 </ModuleController>
202 <hashTree/>
203 <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - Admin Center CAS sso" enabled="true">
204 <collectionProp name="ModuleController.node_path">
205 <stringProp name="764597751">Test Plan</stringProp>
206 <stringProp name="1721197430">Admin Center SSO Tests</stringProp>
207 <stringProp name="373645767">GET - Admin Center CAS sso</stringProp>
208 </collectionProp>
209 </ModuleController>
210 <hashTree/>
211 <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - CAS Login Page" enabled="true">
212 <collectionProp name="ModuleController.node_path">
213 <stringProp name="764597751">Test Plan</stringProp>
214 <stringProp name="1721197430">Admin Center SSO Tests</stringProp>
215 <stringProp name="-157788562">GET - CAS Login Page</stringProp>
216 </collectionProp>
217 <stringProp name="TestPlan.comments">Get the CAS Login page</stringProp>
218 </ModuleController>
219 <hashTree/>
220 <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="POST - Login Credentials" enabled="true">
221 <collectionProp name="ModuleController.node_path">
222 <stringProp name="764597751">Test Plan</stringProp>
223 <stringProp name="1721197430">Admin Center SSO Tests</stringProp>
224 <stringProp name="-2049830958">POST - Login Credentials</stringProp>
225 </collectionProp>
226 </ModuleController>
227 <hashTree/>
228 <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - Admin Center return ticket" enabled="true">
229 <collectionProp name="ModuleController.node_path">
230 <stringProp name="764597751">Test Plan</stringProp>
231 <stringProp name="1721197430">Admin Center SSO Tests</stringProp>
232 <stringProp name="-200699809">GET - Admin Center return ticket</stringProp>
233 </collectionProp>
234 </ModuleController>
235 <hashTree/>
236 <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - Admin Center return CAS sso" enabled="true">
237 <collectionProp name="ModuleController.node_path">
238 <stringProp name="764597751">Test Plan</stringProp>
239 <stringProp name="1721197430">Admin Center SSO Tests</stringProp>
240 <stringProp name="668069937">GET - Admin Center return CAS sso</stringProp>
241 </collectionProp>
242 </ModuleController>
243 <hashTree/>
244 <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - Admin Center return JWT" enabled="true">
245 <collectionProp name="ModuleController.node_path">
246 <stringProp name="764597751">Test Plan</stringProp>
247 <stringProp name="1721197430">Admin Center SSO Tests</stringProp>
248 <stringProp name="1501770804">GET - Admin Center return JWT</stringProp>
249 </collectionProp>
250 </ModuleController>
251 <hashTree/>
252 <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - Admin Center api user" enabled="true">
253 <collectionProp name="ModuleController.node_path">
254 <stringProp name="764597751">Test Plan</stringProp>
255 <stringProp name="1721197430">Admin Center SSO Tests</stringProp>
256 <stringProp name="-1164279858">GET - Admin Center api user</stringProp>
257 </collectionProp>
258 </ModuleController>
259 <hashTree/>
260 <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - Admin Center api security account" enabled="true">
261 <collectionProp name="ModuleController.node_path">
262 <stringProp name="764597751">Test Plan</stringProp>
263 <stringProp name="1721197430">Admin Center SSO Tests</stringProp>
264 <stringProp name="-428931888">GET - Admin Center api security account</stringProp>
265 </collectionProp>
266 </ModuleController>
267 <hashTree/>
268 <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - User Logout" enabled="false">
269 <collectionProp name="ModuleController.node_path">
270 <stringProp name="764597751">Test Plan</stringProp>
271 <stringProp name="1721197430">Admin Center SSO Tests</stringProp>
272 <stringProp name="-648438622">GET - User Logout</stringProp>
273 </collectionProp>
274 </ModuleController>
275 <hashTree/>
276 <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true">
277 <boolProp name="ResultCollector.error_logging">true</boolProp>
278 <objProp>
279 <name>saveConfig</name>
280 <value class="SampleSaveConfiguration">
281 <time>true</time>
282 <latency>true</latency>
283 <timestamp>true</timestamp>
284 <success>true</success>
285 <label>true</label>
286 <code>true</code>
287 <message>true</message>
288 <threadName>true</threadName>
289 <dataType>true</dataType>
290 <encoding>false</encoding>
291 <assertions>true</assertions>
292 <subresults>true</subresults>
293 <responseData>true</responseData>
294 <samplerData>true</samplerData>
295 <xml>true</xml>
296 <fieldNames>true</fieldNames>
297 <responseHeaders>true</responseHeaders>
298 <requestHeaders>true</requestHeaders>
299 <responseDataOnError>false</responseDataOnError>
300 <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
301 <assertionsResultsToSave>0</assertionsResultsToSave>
302 <bytes>true</bytes>
303 <threadCounts>true</threadCounts>
304 <idleTime>true</idleTime>
305 </value>
306 </objProp>
307 <stringProp name="filename">/home/ubuntu/admin-center-zuul/tree.xml</stringProp>
308 </ResultCollector>
309 <hashTree/>
310 <ResultCollector guiclass="StatVisualizer" testclass="ResultCollector" testname="Aggregate Report" enabled="true">
311 <boolProp name="ResultCollector.error_logging">false</boolProp>
312 <objProp>
313 <name>saveConfig</name>
314 <value class="SampleSaveConfiguration">
315 <time>true</time>
316 <latency>true</latency>
317 <timestamp>true</timestamp>
318 <success>true</success>
319 <label>true</label>
320 <code>true</code>
321 <message>true</message>
322 <threadName>true</threadName>
323 <dataType>true</dataType>
324 <encoding>false</encoding>
325 <assertions>true</assertions>
326 <subresults>true</subresults>
327 <responseData>true</responseData>
328 <samplerData>true</samplerData>
329 <xml>true</xml>
330 <fieldNames>true</fieldNames>
331 <responseHeaders>true</responseHeaders>
332 <requestHeaders>true</requestHeaders>
333 <responseDataOnError>false</responseDataOnError>
334 <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
335 <assertionsResultsToSave>0</assertionsResultsToSave>
336 <bytes>true</bytes>
337 <sentBytes>true</sentBytes>
338 <url>true</url>
339 <threadCounts>true</threadCounts>
340 <idleTime>true</idleTime>
341 <connectTime>true</connectTime>
342 </value>
343 </objProp>
344 <stringProp name="filename">/home/ubuntu/admin-center-zuul/result.xml</stringProp>
345 </ResultCollector>
346 <hashTree/>
347 </hashTree>
348 <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - Admin Center JWT" enabled="true"/>
349 <hashTree>
350 <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="GET - Admin Center JWT" enabled="true">
351 <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
352 <collectionProp name="Arguments.arguments"/>
353 </elementProp>
354 <stringProp name="HTTPSampler.domain"></stringProp>
355 <stringProp name="HTTPSampler.port"></stringProp>
356 <stringProp name="HTTPSampler.protocol"></stringProp>
357 <stringProp name="HTTPSampler.contentEncoding"></stringProp>
358 <stringProp name="HTTPSampler.path">${AdminCenterHost}/jwt/cas/login?redirect_uri=${__urlencode(https://example.com/index.html)}&amp;state=STATE</stringProp>
359 <stringProp name="HTTPSampler.method">GET</stringProp>
360 <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
361 <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
362 <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
363 <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
364 <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
365 <stringProp name="HTTPSampler.connect_timeout"></stringProp>
366 <stringProp name="HTTPSampler.response_timeout"></stringProp>
367 </HTTPSamplerProxy>
368 <hashTree>
369 <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Verify on CAS login page" enabled="false">
370 <collectionProp name="Asserion.test_strings">
371 <stringProp name="232355224">cas/login?service=</stringProp>
372 </collectionProp>
373 <stringProp name="Assertion.test_field">Assertion.sample_label</stringProp>
374 <boolProp name="Assertion.assume_success">false</boolProp>
375 <intProp name="Assertion.test_type">16</intProp>
376 <stringProp name="Assertion.custom_message"></stringProp>
377 </ResponseAssertion>
378 <hashTree/>
379 <XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Extract Execution variable" enabled="false">
380 <stringProp name="XPathExtractor.default"></stringProp>
381 <stringProp name="XPathExtractor.refname">ExecId</stringProp>
382 <stringProp name="XPathExtractor.matchNumber">-1</stringProp>
383 <stringProp name="XPathExtractor.xpathQuery">//input[@name=&apos;execution&apos;]/@value</stringProp>
384 <boolProp name="XPathExtractor.validate">false</boolProp>
385 <boolProp name="XPathExtractor.tolerant">true</boolProp>
386 <boolProp name="XPathExtractor.namespace">false</boolProp>
387 </XPathExtractor>
388 <hashTree/>
389 <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor" enabled="false">
390 <stringProp name="RegexExtractor.useHeaders">true</stringProp>
391 <stringProp name="RegexExtractor.refname">jsid</stringProp>
392 <stringProp name="RegexExtractor.regex">Set-Cookie: JSESSIONID=(.+); Path=/; Secure; HttpOnly</stringProp>
393 <stringProp name="RegexExtractor.template">$1$</stringProp>
394 <stringProp name="RegexExtractor.default"></stringProp>
395 <stringProp name="RegexExtractor.match_number">1</stringProp>
396 </RegexExtractor>
397 <hashTree/>
398 </hashTree>
399 </hashTree>
400 <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - Admin Center CAS sso" enabled="true"/>
401 <hashTree>
402 <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="GET - Admin Center CAS sso" enabled="true">
403 <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
404 <collectionProp name="Arguments.arguments">
405 <elementProp name="jsid" elementType="HTTPArgument">
406 <boolProp name="HTTPArgument.always_encode">false</boolProp>
407 <stringProp name="Argument.value">${jsid}</stringProp>
408 <stringProp name="Argument.metadata">=</stringProp>
409 <boolProp name="HTTPArgument.use_equals">true</boolProp>
410 <stringProp name="Argument.name">jsid</stringProp>
411 </elementProp>
412 </collectionProp>
413 </elementProp>
414 <stringProp name="HTTPSampler.domain"></stringProp>
415 <stringProp name="HTTPSampler.port"></stringProp>
416 <stringProp name="HTTPSampler.protocol"></stringProp>
417 <stringProp name="HTTPSampler.contentEncoding"></stringProp>
418 <stringProp name="HTTPSampler.path">${AdminCenterHost}/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</stringProp>
419 <stringProp name="HTTPSampler.method">GET</stringProp>
420 <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
421 <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
422 <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
423 <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
424 <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
425 <stringProp name="HTTPSampler.connect_timeout"></stringProp>
426 <stringProp name="HTTPSampler.response_timeout"></stringProp>
427 </HTTPSamplerProxy>
428 <hashTree>
429 <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Verify on CAS login page" enabled="false">
430 <collectionProp name="Asserion.test_strings">
431 <stringProp name="232355224">cas/login?service=</stringProp>
432 </collectionProp>
433 <stringProp name="Assertion.test_field">Assertion.sample_label</stringProp>
434 <boolProp name="Assertion.assume_success">false</boolProp>
435 <intProp name="Assertion.test_type">16</intProp>
436 <stringProp name="Assertion.custom_message"></stringProp>
437 </ResponseAssertion>
438 <hashTree/>
439 <XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Extract Execution variable" enabled="false">
440 <stringProp name="XPathExtractor.default"></stringProp>
441 <stringProp name="XPathExtractor.refname">ExecId</stringProp>
442 <stringProp name="XPathExtractor.matchNumber">-1</stringProp>
443 <stringProp name="XPathExtractor.xpathQuery">//input[@name=&apos;execution&apos;]/@value</stringProp>
444 <boolProp name="XPathExtractor.validate">false</boolProp>
445 <boolProp name="XPathExtractor.tolerant">true</boolProp>
446 <boolProp name="XPathExtractor.namespace">false</boolProp>
447 </XPathExtractor>
448 <hashTree/>
449 <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor" enabled="false">
450 <stringProp name="RegexExtractor.useHeaders">true</stringProp>
451 <stringProp name="RegexExtractor.refname">jsessionid</stringProp>
452 <stringProp name="RegexExtractor.regex">Set-Cookie: JSESSIONID=(.+); Path=/; Secure; HttpOnly</stringProp>
453 <stringProp name="RegexExtractor.template">$1$</stringProp>
454 <stringProp name="RegexExtractor.default"></stringProp>
455 <stringProp name="RegexExtractor.match_number">1</stringProp>
456 </RegexExtractor>
457 <hashTree/>
458 </hashTree>
459 </hashTree>
460 <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - CAS Login Page" enabled="true"/>
461 <hashTree>
462 <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="GET - CAS Login Page" enabled="true">
463 <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
464 <collectionProp name="Arguments.arguments"/>
465 </elementProp>
466 <stringProp name="HTTPSampler.domain"></stringProp>
467 <stringProp name="HTTPSampler.port"></stringProp>
468 <stringProp name="HTTPSampler.protocol"></stringProp>
469 <stringProp name="HTTPSampler.contentEncoding"></stringProp>
470 <stringProp name="HTTPSampler.path">${IdPHost}/cas/login?service=${CasSP}</stringProp>
471 <stringProp name="HTTPSampler.method">GET</stringProp>
472 <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
473 <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
474 <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
475 <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
476 <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
477 <stringProp name="HTTPSampler.connect_timeout"></stringProp>
478 <stringProp name="HTTPSampler.response_timeout"></stringProp>
479 </HTTPSamplerProxy>
480 <hashTree>
481 <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract Execution Variable" enabled="false">
482 <stringProp name="RegexExtractor.useHeaders">false</stringProp>
483 <stringProp name="RegexExtractor.refname">ExecId</stringProp>
484 <stringProp name="RegexExtractor.regex">execution=(.+)</stringProp>
485 <stringProp name="RegexExtractor.template">$1$</stringProp>
486 <stringProp name="RegexExtractor.default"></stringProp>
487 <stringProp name="RegexExtractor.match_number">1</stringProp>
488 </RegexExtractor>
489 <hashTree/>
490 <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Verify on CAS login page" enabled="true">
491 <collectionProp name="Asserion.test_strings">
492 <stringProp name="232355224">cas/login?service=</stringProp>
493 </collectionProp>
494 <stringProp name="Assertion.test_field">Assertion.sample_label</stringProp>
495 <boolProp name="Assertion.assume_success">false</boolProp>
496 <intProp name="Assertion.test_type">16</intProp>
497 <stringProp name="Assertion.custom_message"></stringProp>
498 </ResponseAssertion>
499 <hashTree/>
500 <XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Extract Execution variable" enabled="true">
501 <stringProp name="XPathExtractor.default"></stringProp>
502 <stringProp name="XPathExtractor.refname">ExecId</stringProp>
503 <stringProp name="XPathExtractor.matchNumber">-1</stringProp>
504 <stringProp name="XPathExtractor.xpathQuery">//input[@name=&apos;execution&apos;]/@value</stringProp>
505 <boolProp name="XPathExtractor.validate">false</boolProp>
506 <boolProp name="XPathExtractor.tolerant">true</boolProp>
507 <boolProp name="XPathExtractor.namespace">false</boolProp>
508 </XPathExtractor>
509 <hashTree/>
510 </hashTree>
511 </hashTree>
512 <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="POST - Login Credentials" enabled="true"/>
513 <hashTree>
514 <SyncTimer guiclass="TestBeanGUI" testclass="SyncTimer" testname="Synchronizing Timer" enabled="false">
515 <stringProp name="groupSize">${ThreadCount}</stringProp>
516 <longProp name="timeoutInMs">0</longProp>
517 </SyncTimer>
518 <hashTree/>
519 <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="POST - Login Credentials follow Redirects" enabled="false">
520 <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
521 <collectionProp name="Arguments.arguments">
522 <elementProp name="username" elementType="HTTPArgument">
523 <boolProp name="HTTPArgument.always_encode">false</boolProp>
524 <stringProp name="Argument.value">${User}</stringProp>
525 <stringProp name="Argument.metadata">=</stringProp>
526 <boolProp name="HTTPArgument.use_equals">true</boolProp>
527 <stringProp name="Argument.name">username</stringProp>
528 <stringProp name="Argument.desc">false</stringProp>
529 </elementProp>
530 <elementProp name="password" elementType="HTTPArgument">
531 <boolProp name="HTTPArgument.always_encode">false</boolProp>
532 <stringProp name="Argument.value">${Password}</stringProp>
533 <stringProp name="Argument.metadata">=</stringProp>
534 <boolProp name="HTTPArgument.use_equals">true</boolProp>
535 <stringProp name="Argument.name">password</stringProp>
536 <stringProp name="Argument.desc">false</stringProp>
537 </elementProp>
538 <elementProp name="_eventId_submit" elementType="HTTPArgument">
539 <boolProp name="HTTPArgument.always_encode">false</boolProp>
540 <stringProp name="Argument.value"></stringProp>
541 <stringProp name="Argument.metadata">=</stringProp>
542 <boolProp name="HTTPArgument.use_equals">true</boolProp>
543 <stringProp name="Argument.name">_eventId_submit</stringProp>
544 <stringProp name="Argument.desc">false</stringProp>
545 </elementProp>
546 <elementProp name="execution" elementType="HTTPArgument">
547 <boolProp name="HTTPArgument.always_encode">false</boolProp>
548 <stringProp name="Argument.value">${ExecId}</stringProp>
549 <stringProp name="Argument.metadata">=</stringProp>
550 <boolProp name="HTTPArgument.use_equals">true</boolProp>
551 <stringProp name="Argument.name">execution</stringProp>
552 </elementProp>
553 </collectionProp>
554 </elementProp>
555 <stringProp name="HTTPSampler.domain"></stringProp>
556 <stringProp name="HTTPSampler.port"></stringProp>
557 <stringProp name="HTTPSampler.protocol"></stringProp>
558 <stringProp name="HTTPSampler.contentEncoding"></stringProp>
559 <stringProp name="HTTPSampler.path">${IdPHost}/cas/login?service=${__urlencode(${CasSP})}</stringProp>
560 <stringProp name="HTTPSampler.method">POST</stringProp>
561 <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
562 <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
563 <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
564 <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
565 <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
566 <stringProp name="HTTPSampler.connect_timeout"></stringProp>
567 <stringProp name="HTTPSampler.response_timeout"></stringProp>
568 </HTTPSamplerProxy>
569 <hashTree>
570 <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract Ticket Variable" enabled="true">
571 <stringProp name="RegexExtractor.useHeaders">URL</stringProp>
572 <stringProp name="RegexExtractor.refname">st</stringProp>
573 <stringProp name="RegexExtractor.regex">ticket=(.+)</stringProp>
574 <stringProp name="RegexExtractor.template">$1$</stringProp>
575 <stringProp name="RegexExtractor.default"></stringProp>
576 <stringProp name="RegexExtractor.match_number">1</stringProp>
577 <stringProp name="Sample.scope">all</stringProp>
578 </RegexExtractor>
579 <hashTree/>
580 </hashTree>
581 <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="POST - Login Credentials no Redirects" enabled="true">
582 <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
583 <collectionProp name="Arguments.arguments">
584 <elementProp name="username" elementType="HTTPArgument">
585 <boolProp name="HTTPArgument.always_encode">false</boolProp>
586 <stringProp name="Argument.value">smartadmin</stringProp>
587 <stringProp name="Argument.metadata">=</stringProp>
588 <boolProp name="HTTPArgument.use_equals">true</boolProp>
589 <stringProp name="Argument.name">username</stringProp>
590 <stringProp name="Argument.desc">false</stringProp>
591 </elementProp>
592 <elementProp name="password" elementType="HTTPArgument">
593 <boolProp name="HTTPArgument.always_encode">false</boolProp>
594 <stringProp name="Argument.value">adminadmin</stringProp>
595 <stringProp name="Argument.metadata">=</stringProp>
596 <boolProp name="HTTPArgument.use_equals">true</boolProp>
597 <stringProp name="Argument.name">password</stringProp>
598 <stringProp name="Argument.desc">false</stringProp>
599 </elementProp>
600 <elementProp name="_eventId_submit" elementType="HTTPArgument">
601 <boolProp name="HTTPArgument.always_encode">false</boolProp>
602 <stringProp name="Argument.value"></stringProp>
603 <stringProp name="Argument.metadata">=</stringProp>
604 <boolProp name="HTTPArgument.use_equals">true</boolProp>
605 <stringProp name="Argument.name">_eventId_submit</stringProp>
606 <stringProp name="Argument.desc">false</stringProp>
607 </elementProp>
608 <elementProp name="execution" elementType="HTTPArgument">
609 <boolProp name="HTTPArgument.always_encode">false</boolProp>
610 <stringProp name="Argument.value">${ExecId}</stringProp>
611 <stringProp name="Argument.metadata">=</stringProp>
612 <boolProp name="HTTPArgument.use_equals">true</boolProp>
613 <stringProp name="Argument.name">execution</stringProp>
614 </elementProp>
615 </collectionProp>
616 </elementProp>
617 <stringProp name="HTTPSampler.domain"></stringProp>
618 <stringProp name="HTTPSampler.port"></stringProp>
619 <stringProp name="HTTPSampler.protocol"></stringProp>
620 <stringProp name="HTTPSampler.contentEncoding"></stringProp>
621 <stringProp name="HTTPSampler.path">${IdPHost}/cas/login?service=${__urlencode(${CasSP})}</stringProp>
622 <stringProp name="HTTPSampler.method">POST</stringProp>
623 <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
624 <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
625 <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
626 <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
627 <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
628 <stringProp name="HTTPSampler.connect_timeout"></stringProp>
629 <stringProp name="HTTPSampler.response_timeout"></stringProp>
630 </HTTPSamplerProxy>
631 <hashTree>
632 <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract Ticket Variable" enabled="true">
633 <stringProp name="RegexExtractor.useHeaders">true</stringProp>
634 <stringProp name="RegexExtractor.refname">st</stringProp>
635 <stringProp name="RegexExtractor.regex">Location:(.+)ticket=(.+)</stringProp>
636 <stringProp name="RegexExtractor.template">$2$</stringProp>
637 <stringProp name="RegexExtractor.default"></stringProp>
638 <stringProp name="RegexExtractor.match_number">1</stringProp>
639 <stringProp name="Sample.scope">all</stringProp>
640 </RegexExtractor>
641 <hashTree/>
642 </hashTree>
643 </hashTree>
644 <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - Admin Center return ticket" enabled="true"/>
645 <hashTree>
646 <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="GET - Admin Center return ticket" enabled="true">
647 <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
648 <collectionProp name="Arguments.arguments"/>
649 </elementProp>
650 <stringProp name="HTTPSampler.domain"></stringProp>
651 <stringProp name="HTTPSampler.port"></stringProp>
652 <stringProp name="HTTPSampler.protocol"></stringProp>
653 <stringProp name="HTTPSampler.contentEncoding"></stringProp>
654 <stringProp name="HTTPSampler.path">${CasSP}?ticket=${st}</stringProp>
655 <stringProp name="HTTPSampler.method">GET</stringProp>
656 <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
657 <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
658 <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
659 <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
660 <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
661 <stringProp name="HTTPSampler.connect_timeout"></stringProp>
662 <stringProp name="HTTPSampler.response_timeout"></stringProp>
663 </HTTPSamplerProxy>
664 <hashTree/>
665 <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Verify User Info Returned" enabled="false">
666 <collectionProp name="Asserion.test_strings">
667 <stringProp name="919549364">&lt;cas:authenticationSuccess&gt;</stringProp>
668 <stringProp name="1774939698">&lt;cas:user&gt;${User}&lt;/cas:user&gt;</stringProp>
669 </collectionProp>
670 <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
671 <boolProp name="Assertion.assume_success">false</boolProp>
672 <intProp name="Assertion.test_type">2</intProp>
673 <stringProp name="TestPlan.comments">Verifies get user info on ticket validation</stringProp>
674 <stringProp name="Assertion.custom_message"></stringProp>
675 </ResponseAssertion>
676 <hashTree/>
677 </hashTree>
678 <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - Admin Center return CAS sso" enabled="true"/>
679 <hashTree>
680 <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="GET - Admin Center return CAS sso" enabled="true">
681 <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
682 <collectionProp name="Arguments.arguments">
683 <elementProp name="jsid" elementType="HTTPArgument">
684 <boolProp name="HTTPArgument.always_encode">false</boolProp>
685 <stringProp name="Argument.value">${jsid}</stringProp>
686 <stringProp name="Argument.metadata">=</stringProp>
687 <boolProp name="HTTPArgument.use_equals">true</boolProp>
688 <stringProp name="Argument.name">jsid</stringProp>
689 </elementProp>
690 </collectionProp>
691 </elementProp>
692 <stringProp name="HTTPSampler.domain"></stringProp>
693 <stringProp name="HTTPSampler.port"></stringProp>
694 <stringProp name="HTTPSampler.protocol"></stringProp>
695 <stringProp name="HTTPSampler.contentEncoding"></stringProp>
696 <stringProp name="HTTPSampler.path">${AdminCenterHost}/cas/sso?target_uri=%2Fjwt%2Fcas%2Flogin%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252Findex.html%26state%3DSTATE</stringProp>
697 <stringProp name="HTTPSampler.method">GET</stringProp>
698 <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
699 <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
700 <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
701 <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
702 <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
703 <stringProp name="HTTPSampler.connect_timeout"></stringProp>
704 <stringProp name="HTTPSampler.response_timeout"></stringProp>
705 </HTTPSamplerProxy>
706 <hashTree>
707 <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Verify on CAS login page" enabled="false">
708 <collectionProp name="Asserion.test_strings">
709 <stringProp name="232355224">cas/login?service=</stringProp>
710 </collectionProp>
711 <stringProp name="Assertion.test_field">Assertion.sample_label</stringProp>
712 <boolProp name="Assertion.assume_success">false</boolProp>
713 <intProp name="Assertion.test_type">16</intProp>
714 <stringProp name="Assertion.custom_message"></stringProp>
715 </ResponseAssertion>
716 <hashTree/>
717 <XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Extract Execution variable" enabled="false">
718 <stringProp name="XPathExtractor.default"></stringProp>
719 <stringProp name="XPathExtractor.refname">ExecId</stringProp>
720 <stringProp name="XPathExtractor.matchNumber">-1</stringProp>
721 <stringProp name="XPathExtractor.xpathQuery">//input[@name=&apos;execution&apos;]/@value</stringProp>
722 <boolProp name="XPathExtractor.validate">false</boolProp>
723 <boolProp name="XPathExtractor.tolerant">true</boolProp>
724 <boolProp name="XPathExtractor.namespace">false</boolProp>
725 </XPathExtractor>
726 <hashTree/>
727 <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor" enabled="false">
728 <stringProp name="RegexExtractor.useHeaders">true</stringProp>
729 <stringProp name="RegexExtractor.refname">jsessionid</stringProp>
730 <stringProp name="RegexExtractor.regex">Set-Cookie: JSESSIONID=(.+); Path=/; Secure; HttpOnly</stringProp>
731 <stringProp name="RegexExtractor.template">$1$</stringProp>
732 <stringProp name="RegexExtractor.default"></stringProp>
733 <stringProp name="RegexExtractor.match_number">1</stringProp>
734 </RegexExtractor>
735 <hashTree/>
736 </hashTree>
737 </hashTree>
738 <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - Admin Center return JWT" enabled="true"/>
739 <hashTree>
740 <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="GET - Admin Center return JWT" enabled="true">
741 <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
742 <collectionProp name="Arguments.arguments"/>
743 </elementProp>
744 <stringProp name="HTTPSampler.domain"></stringProp>
745 <stringProp name="HTTPSampler.port"></stringProp>
746 <stringProp name="HTTPSampler.protocol"></stringProp>
747 <stringProp name="HTTPSampler.contentEncoding"></stringProp>
748 <stringProp name="HTTPSampler.path">${AdminCenterHost}/jwt/cas/login?redirect_uri=${__urlencode(https://example.com/index.html)}&amp;state=STATE</stringProp>
749 <stringProp name="HTTPSampler.method">GET</stringProp>
750 <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
751 <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
752 <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
753 <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
754 <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
755 <stringProp name="HTTPSampler.connect_timeout"></stringProp>
756 <stringProp name="HTTPSampler.response_timeout"></stringProp>
757 </HTTPSamplerProxy>
758 <hashTree>
759 <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract Token Variable" enabled="true">
760 <stringProp name="RegexExtractor.useHeaders">true</stringProp>
761 <stringProp name="RegexExtractor.refname">token</stringProp>
762 <stringProp name="RegexExtractor.regex">Location: (.+)token=(.+)</stringProp>
763 <stringProp name="RegexExtractor.template">$2$</stringProp>
764 <stringProp name="RegexExtractor.default"></stringProp>
765 <stringProp name="RegexExtractor.match_number">1</stringProp>
766 </RegexExtractor>
767 <hashTree/>
768 </hashTree>
769 </hashTree>
770 <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - Admin Center api user" enabled="true"/>
771 <hashTree>
772 <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="GET - Admin Center api user" enabled="true">
773 <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
774 <collectionProp name="Arguments.arguments"/>
775 </elementProp>
776 <stringProp name="HTTPSampler.domain"></stringProp>
777 <stringProp name="HTTPSampler.port"></stringProp>
778 <stringProp name="HTTPSampler.protocol"></stringProp>
779 <stringProp name="HTTPSampler.contentEncoding"></stringProp>
780 <stringProp name="HTTPSampler.path">${AdminCenterHost}/api/user</stringProp>
781 <stringProp name="HTTPSampler.method">GET</stringProp>
782 <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
783 <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
784 <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
785 <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
786 <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
787 <stringProp name="HTTPSampler.connect_timeout"></stringProp>
788 <stringProp name="HTTPSampler.response_timeout"></stringProp>
789 </HTTPSamplerProxy>
790 <hashTree>
791 <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true">
792 <collectionProp name="HeaderManager.headers">
793 <elementProp name="" elementType="Header">
794 <stringProp name="Header.name">Authorization</stringProp>
795 <stringProp name="Header.value">Bearer ${token}</stringProp>
796 </elementProp>
797 </collectionProp>
798 </HeaderManager>
799 <hashTree/>
800 </hashTree>
801 <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Verify User Info Returned" enabled="false">
802 <collectionProp name="Asserion.test_strings">
803 <stringProp name="919549364">&lt;cas:authenticationSuccess&gt;</stringProp>
804 <stringProp name="1774939698">&lt;cas:user&gt;${User}&lt;/cas:user&gt;</stringProp>
805 </collectionProp>
806 <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
807 <boolProp name="Assertion.assume_success">false</boolProp>
808 <intProp name="Assertion.test_type">2</intProp>
809 <stringProp name="TestPlan.comments">Verifies get user info on ticket validation</stringProp>
810 <stringProp name="Assertion.custom_message"></stringProp>
811 </ResponseAssertion>
812 <hashTree/>
813 </hashTree>
814 <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - Admin Center api security account" enabled="true"/>
815 <hashTree>
816 <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="GET - Admin Center api security account" enabled="true">
817 <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
818 <collectionProp name="Arguments.arguments"/>
819 </elementProp>
820 <stringProp name="HTTPSampler.domain"></stringProp>
821 <stringProp name="HTTPSampler.port"></stringProp>
822 <stringProp name="HTTPSampler.protocol"></stringProp>
823 <stringProp name="HTTPSampler.contentEncoding"></stringProp>
824 <stringProp name="HTTPSampler.path">${AdminCenterHost}/api/v1/security/accounts/accountName/smartadmin</stringProp>
825 <stringProp name="HTTPSampler.method">GET</stringProp>
826 <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
827 <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
828 <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
829 <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
830 <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
831 <stringProp name="HTTPSampler.connect_timeout"></stringProp>
832 <stringProp name="HTTPSampler.response_timeout"></stringProp>
833 </HTTPSamplerProxy>
834 <hashTree>
835 <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true">
836 <collectionProp name="HeaderManager.headers">
837 <elementProp name="" elementType="Header">
838 <stringProp name="Header.name">Authorization</stringProp>
839 <stringProp name="Header.value">Bearer ${token}</stringProp>
840 </elementProp>
841 </collectionProp>
842 </HeaderManager>
843 <hashTree/>
844 </hashTree>
845 <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Verify User Info Returned" enabled="false">
846 <collectionProp name="Asserion.test_strings">
847 <stringProp name="919549364">&lt;cas:authenticationSuccess&gt;</stringProp>
848 <stringProp name="1774939698">&lt;cas:user&gt;${User}&lt;/cas:user&gt;</stringProp>
849 </collectionProp>
850 <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
851 <boolProp name="Assertion.assume_success">false</boolProp>
852 <intProp name="Assertion.test_type">2</intProp>
853 <stringProp name="TestPlan.comments">Verifies get user info on ticket validation</stringProp>
854 <stringProp name="Assertion.custom_message"></stringProp>
855 </ResponseAssertion>
856 <hashTree/>
857 </hashTree>
858 <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - User Logout" enabled="false"/>
859 <hashTree>
860 <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Get - User Logout" enabled="true">
861 <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
862 <collectionProp name="Arguments.arguments"/>
863 </elementProp>
864 <stringProp name="HTTPSampler.domain"></stringProp>
865 <stringProp name="HTTPSampler.port"></stringProp>
866 <stringProp name="HTTPSampler.protocol"></stringProp>
867 <stringProp name="HTTPSampler.contentEncoding"></stringProp>
868 <stringProp name="HTTPSampler.path">${IdPHost}/cas/logout</stringProp>
869 <stringProp name="HTTPSampler.method">GET</stringProp>
870 <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
871 <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
872 <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
873 <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
874 <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
875 <stringProp name="HTTPSampler.connect_timeout"></stringProp>
876 <stringProp name="HTTPSampler.response_timeout"></stringProp>
877 </HTTPSamplerProxy>
878 <hashTree/>
879 <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Verify User Logged Out" enabled="true">
880 <collectionProp name="Asserion.test_strings">
881 <stringProp name="49586">200</stringProp>
882 </collectionProp>
883 <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
884 <boolProp name="Assertion.assume_success">false</boolProp>
885 <intProp name="Assertion.test_type">2</intProp>
886 <stringProp name="Assertion.custom_message"></stringProp>
887 </ResponseAssertion>
888 <hashTree/>
889 </hashTree>
890 </hashTree>
891 </hashTree>
892</jmeterTestPlan>