刘洪青 | 4720585 | 2020-08-14 13:39:30 +0800 | [diff] [blame] | 1 | <?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="CAS 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">1000</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">https://uis-test.nwpu.edu.cn</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">https://example.com/index.html</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 | </collectionProp> |
| 68 | </Arguments> |
| 69 | <hashTree/> |
| 70 | <CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="CSV Get Users/Passwords" enabled="true"> |
| 71 | <stringProp name="filename">/Users/loie/c/work/git/institute/deploy-admin-portal/testing/jmeter/nwpu-accounts.txt</stringProp> |
| 72 | <stringProp name="fileEncoding"></stringProp> |
| 73 | <stringProp name="variableNames">User,Password</stringProp> |
| 74 | <stringProp name="delimiter">,</stringProp> |
| 75 | <boolProp name="quotedData">false</boolProp> |
| 76 | <boolProp name="recycle">true</boolProp> |
| 77 | <boolProp name="stopThread">false</boolProp> |
| 78 | <stringProp name="shareMode">shareMode.all</stringProp> |
| 79 | <boolProp name="ignoreFirstLine">false</boolProp> |
| 80 | </CSVDataSet> |
| 81 | <hashTree/> |
| 82 | <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="HTTP Cookie Manager" enabled="true"> |
| 83 | <collectionProp name="CookieManager.cookies"/> |
| 84 | <boolProp name="CookieManager.clearEachIteration">true</boolProp> |
| 85 | <boolProp name="CookieManager.controlledByThreadGroup">false</boolProp> |
| 86 | </CookieManager> |
| 87 | <hashTree/> |
| 88 | <ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP Request Defaults" enabled="true"> |
| 89 | <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> |
| 90 | <collectionProp name="Arguments.arguments"/> |
| 91 | </elementProp> |
| 92 | <stringProp name="HTTPSampler.domain"></stringProp> |
| 93 | <stringProp name="HTTPSampler.port"></stringProp> |
| 94 | <stringProp name="HTTPSampler.protocol">https</stringProp> |
| 95 | <stringProp name="HTTPSampler.contentEncoding"></stringProp> |
| 96 | <stringProp name="HTTPSampler.path"></stringProp> |
| 97 | <stringProp name="HTTPSampler.concurrentPool">4</stringProp> |
| 98 | <stringProp name="HTTPSampler.implementation">HttpClient4</stringProp> |
| 99 | <stringProp name="HTTPSampler.connect_timeout">120000</stringProp> |
| 100 | <stringProp name="HTTPSampler.response_timeout">120000</stringProp> |
| 101 | </ConfigTestElement> |
| 102 | <hashTree/> |
| 103 | <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="false"> |
| 104 | <boolProp name="ResultCollector.error_logging">false</boolProp> |
| 105 | <objProp> |
| 106 | <name>saveConfig</name> |
| 107 | <value class="SampleSaveConfiguration"> |
| 108 | <time>true</time> |
| 109 | <latency>true</latency> |
| 110 | <timestamp>true</timestamp> |
| 111 | <success>true</success> |
| 112 | <label>true</label> |
| 113 | <code>true</code> |
| 114 | <message>true</message> |
| 115 | <threadName>true</threadName> |
| 116 | <dataType>true</dataType> |
| 117 | <encoding>false</encoding> |
| 118 | <assertions>true</assertions> |
| 119 | <subresults>true</subresults> |
| 120 | <responseData>false</responseData> |
| 121 | <samplerData>false</samplerData> |
| 122 | <xml>false</xml> |
| 123 | <fieldNames>false</fieldNames> |
| 124 | <responseHeaders>false</responseHeaders> |
| 125 | <requestHeaders>false</requestHeaders> |
| 126 | <responseDataOnError>false</responseDataOnError> |
| 127 | <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage> |
| 128 | <assertionsResultsToSave>0</assertionsResultsToSave> |
| 129 | <bytes>true</bytes> |
| 130 | <threadCounts>true</threadCounts> |
| 131 | </value> |
| 132 | </objProp> |
| 133 | <stringProp name="filename"></stringProp> |
| 134 | </ResultCollector> |
| 135 | <hashTree/> |
| 136 | <ResultCollector guiclass="StatVisualizer" testclass="ResultCollector" testname="Aggregate Report" enabled="false"> |
| 137 | <boolProp name="ResultCollector.error_logging">false</boolProp> |
| 138 | <objProp> |
| 139 | <name>saveConfig</name> |
| 140 | <value class="SampleSaveConfiguration"> |
| 141 | <time>true</time> |
| 142 | <latency>true</latency> |
| 143 | <timestamp>true</timestamp> |
| 144 | <success>true</success> |
| 145 | <label>true</label> |
| 146 | <code>true</code> |
| 147 | <message>false</message> |
| 148 | <threadName>false</threadName> |
| 149 | <dataType>false</dataType> |
| 150 | <encoding>false</encoding> |
| 151 | <assertions>false</assertions> |
| 152 | <subresults>false</subresults> |
| 153 | <responseData>false</responseData> |
| 154 | <samplerData>false</samplerData> |
| 155 | <xml>false</xml> |
| 156 | <fieldNames>false</fieldNames> |
| 157 | <responseHeaders>false</responseHeaders> |
| 158 | <requestHeaders>false</requestHeaders> |
| 159 | <responseDataOnError>false</responseDataOnError> |
| 160 | <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage> |
| 161 | <assertionsResultsToSave>0</assertionsResultsToSave> |
| 162 | <threadCounts>true</threadCounts> |
| 163 | </value> |
| 164 | </objProp> |
| 165 | <stringProp name="filename"></stringProp> |
| 166 | <boolProp name="useGroupName">true</boolProp> |
| 167 | </ResultCollector> |
| 168 | <hashTree/> |
| 169 | <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Typical CAS login" enabled="true"> |
| 170 | <stringProp name="ThreadGroup.on_sample_error">startnextloop</stringProp> |
| 171 | <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true"> |
| 172 | <boolProp name="LoopController.continue_forever">false</boolProp> |
| 173 | <intProp name="LoopController.loops">-1</intProp> |
| 174 | </elementProp> |
| 175 | <stringProp name="ThreadGroup.num_threads">${ThreadCount}</stringProp> |
| 176 | <stringProp name="ThreadGroup.ramp_time">${RampUpPeriod}</stringProp> |
| 177 | <longProp name="ThreadGroup.start_time">1500501626000</longProp> |
| 178 | <longProp name="ThreadGroup.end_time">1500501626000</longProp> |
| 179 | <boolProp name="ThreadGroup.scheduler">true</boolProp> |
| 180 | <stringProp name="ThreadGroup.duration">${Duration}</stringProp> |
| 181 | <stringProp name="ThreadGroup.delay">${StartupDelay}</stringProp> |
| 182 | <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp> |
| 183 | </ThreadGroup> |
| 184 | <hashTree> |
| 185 | <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - CAS Login Page" enabled="true"> |
| 186 | <collectionProp name="ModuleController.node_path"> |
| 187 | <stringProp name="764597751">Test Plan</stringProp> |
| 188 | <stringProp name="2120355301">CAS SSO Tests</stringProp> |
| 189 | <stringProp name="-157788562">GET - CAS Login Page</stringProp> |
| 190 | </collectionProp> |
| 191 | <stringProp name="TestPlan.comments">Get the CAS Login page</stringProp> |
| 192 | </ModuleController> |
| 193 | <hashTree/> |
| 194 | <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="POST - Login Credentials" enabled="true"> |
| 195 | <collectionProp name="ModuleController.node_path"> |
| 196 | <stringProp name="764597751">Test Plan</stringProp> |
| 197 | <stringProp name="2120355301">CAS SSO Tests</stringProp> |
| 198 | <stringProp name="-2049830958">POST - Login Credentials</stringProp> |
| 199 | </collectionProp> |
| 200 | </ModuleController> |
| 201 | <hashTree/> |
| 202 | <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - User Info with Service Ticket" enabled="true"> |
| 203 | <collectionProp name="ModuleController.node_path"> |
| 204 | <stringProp name="764597751">Test Plan</stringProp> |
| 205 | <stringProp name="2120355301">CAS SSO Tests</stringProp> |
| 206 | <stringProp name="1864560727">GET - User Info with Service Ticket</stringProp> |
| 207 | </collectionProp> |
| 208 | </ModuleController> |
| 209 | <hashTree/> |
| 210 | <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="GET - User Logout" enabled="true"> |
| 211 | <collectionProp name="ModuleController.node_path"> |
| 212 | <stringProp name="764597751">Test Plan</stringProp> |
| 213 | <stringProp name="2120355301">CAS SSO Tests</stringProp> |
| 214 | <stringProp name="-648438622">GET - User Logout</stringProp> |
| 215 | </collectionProp> |
| 216 | </ModuleController> |
| 217 | <hashTree/> |
| 218 | <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true"> |
| 219 | <boolProp name="ResultCollector.error_logging">true</boolProp> |
| 220 | <objProp> |
| 221 | <name>saveConfig</name> |
| 222 | <value class="SampleSaveConfiguration"> |
| 223 | <time>true</time> |
| 224 | <latency>true</latency> |
| 225 | <timestamp>true</timestamp> |
| 226 | <success>true</success> |
| 227 | <label>true</label> |
| 228 | <code>true</code> |
| 229 | <message>true</message> |
| 230 | <threadName>true</threadName> |
| 231 | <dataType>true</dataType> |
| 232 | <encoding>false</encoding> |
| 233 | <assertions>true</assertions> |
| 234 | <subresults>true</subresults> |
| 235 | <responseData>false</responseData> |
| 236 | <samplerData>false</samplerData> |
| 237 | <xml>false</xml> |
| 238 | <fieldNames>true</fieldNames> |
| 239 | <responseHeaders>false</responseHeaders> |
| 240 | <requestHeaders>false</requestHeaders> |
| 241 | <responseDataOnError>false</responseDataOnError> |
| 242 | <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage> |
| 243 | <assertionsResultsToSave>0</assertionsResultsToSave> |
| 244 | <bytes>true</bytes> |
| 245 | <threadCounts>true</threadCounts> |
| 246 | <idleTime>true</idleTime> |
| 247 | </value> |
| 248 | </objProp> |
| 249 | <stringProp name="filename"></stringProp> |
| 250 | </ResultCollector> |
| 251 | <hashTree/> |
| 252 | <ResultCollector guiclass="StatVisualizer" testclass="ResultCollector" testname="Aggregate Report" enabled="true"> |
| 253 | <boolProp name="ResultCollector.error_logging">false</boolProp> |
| 254 | <objProp> |
| 255 | <name>saveConfig</name> |
| 256 | <value class="SampleSaveConfiguration"> |
| 257 | <time>true</time> |
| 258 | <latency>true</latency> |
| 259 | <timestamp>true</timestamp> |
| 260 | <success>true</success> |
| 261 | <label>true</label> |
| 262 | <code>true</code> |
| 263 | <message>true</message> |
| 264 | <threadName>true</threadName> |
| 265 | <dataType>true</dataType> |
| 266 | <encoding>false</encoding> |
| 267 | <assertions>true</assertions> |
| 268 | <subresults>true</subresults> |
| 269 | <responseData>false</responseData> |
| 270 | <samplerData>false</samplerData> |
| 271 | <xml>false</xml> |
| 272 | <fieldNames>true</fieldNames> |
| 273 | <responseHeaders>false</responseHeaders> |
| 274 | <requestHeaders>false</requestHeaders> |
| 275 | <responseDataOnError>false</responseDataOnError> |
| 276 | <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage> |
| 277 | <assertionsResultsToSave>0</assertionsResultsToSave> |
| 278 | <bytes>true</bytes> |
| 279 | <sentBytes>true</sentBytes> |
| 280 | <url>true</url> |
| 281 | <threadCounts>true</threadCounts> |
| 282 | <idleTime>true</idleTime> |
| 283 | <connectTime>true</connectTime> |
| 284 | </value> |
| 285 | </objProp> |
| 286 | <stringProp name="filename"></stringProp> |
| 287 | </ResultCollector> |
| 288 | <hashTree/> |
| 289 | </hashTree> |
| 290 | <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - CAS Login Page" enabled="true"/> |
| 291 | <hashTree> |
| 292 | <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="GET - CAS Login Page" 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"></stringProp> |
| 297 | <stringProp name="HTTPSampler.port"></stringProp> |
| 298 | <stringProp name="HTTPSampler.protocol"></stringProp> |
| 299 | <stringProp name="HTTPSampler.contentEncoding"></stringProp> |
| 300 | <stringProp name="HTTPSampler.path">${IdPHost}/cas/login?service=${CasSP}</stringProp> |
| 301 | <stringProp name="HTTPSampler.method">GET</stringProp> |
| 302 | <boolProp name="HTTPSampler.follow_redirects">true</boolProp> |
| 303 | <boolProp name="HTTPSampler.auto_redirects">false</boolProp> |
| 304 | <boolProp name="HTTPSampler.use_keepalive">true</boolProp> |
| 305 | <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> |
| 306 | <stringProp name="HTTPSampler.embedded_url_re"></stringProp> |
| 307 | <stringProp name="HTTPSampler.connect_timeout"></stringProp> |
| 308 | <stringProp name="HTTPSampler.response_timeout"></stringProp> |
| 309 | </HTTPSamplerProxy> |
| 310 | <hashTree> |
| 311 | <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract Execution Variable" enabled="false"> |
| 312 | <stringProp name="RegexExtractor.useHeaders">false</stringProp> |
| 313 | <stringProp name="RegexExtractor.refname">ExecId</stringProp> |
| 314 | <stringProp name="RegexExtractor.regex">execution=(.+)</stringProp> |
| 315 | <stringProp name="RegexExtractor.template">$1$</stringProp> |
| 316 | <stringProp name="RegexExtractor.default"></stringProp> |
| 317 | <stringProp name="RegexExtractor.match_number">1</stringProp> |
| 318 | </RegexExtractor> |
| 319 | <hashTree/> |
| 320 | <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Verify on CAS login page" enabled="true"> |
| 321 | <collectionProp name="Asserion.test_strings"> |
| 322 | <stringProp name="232355224">cas/login?service=</stringProp> |
| 323 | </collectionProp> |
| 324 | <stringProp name="Assertion.test_field">Assertion.sample_label</stringProp> |
| 325 | <boolProp name="Assertion.assume_success">false</boolProp> |
| 326 | <intProp name="Assertion.test_type">16</intProp> |
| 327 | <stringProp name="Assertion.custom_message"></stringProp> |
| 328 | </ResponseAssertion> |
| 329 | <hashTree/> |
| 330 | <XPathExtractor guiclass="XPathExtractorGui" testclass="XPathExtractor" testname="Extract Execution variable" enabled="true"> |
| 331 | <stringProp name="XPathExtractor.default"></stringProp> |
| 332 | <stringProp name="XPathExtractor.refname">ExecId</stringProp> |
| 333 | <stringProp name="XPathExtractor.matchNumber">-1</stringProp> |
| 334 | <stringProp name="XPathExtractor.xpathQuery">//input[@name='execution']/@value</stringProp> |
| 335 | <boolProp name="XPathExtractor.validate">false</boolProp> |
| 336 | <boolProp name="XPathExtractor.tolerant">true</boolProp> |
| 337 | <boolProp name="XPathExtractor.namespace">false</boolProp> |
| 338 | </XPathExtractor> |
| 339 | <hashTree/> |
| 340 | </hashTree> |
| 341 | </hashTree> |
| 342 | <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="POST - Login Credentials" enabled="true"/> |
| 343 | <hashTree> |
| 344 | <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="POST - Login Credentials follow Redirects" enabled="false"> |
| 345 | <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> |
| 346 | <collectionProp name="Arguments.arguments"> |
| 347 | <elementProp name="username" elementType="HTTPArgument"> |
| 348 | <boolProp name="HTTPArgument.always_encode">false</boolProp> |
| 349 | <stringProp name="Argument.value">${User}</stringProp> |
| 350 | <stringProp name="Argument.metadata">=</stringProp> |
| 351 | <boolProp name="HTTPArgument.use_equals">true</boolProp> |
| 352 | <stringProp name="Argument.name">username</stringProp> |
| 353 | <stringProp name="Argument.desc">false</stringProp> |
| 354 | </elementProp> |
| 355 | <elementProp name="password" elementType="HTTPArgument"> |
| 356 | <boolProp name="HTTPArgument.always_encode">false</boolProp> |
| 357 | <stringProp name="Argument.value">${Password}</stringProp> |
| 358 | <stringProp name="Argument.metadata">=</stringProp> |
| 359 | <boolProp name="HTTPArgument.use_equals">true</boolProp> |
| 360 | <stringProp name="Argument.name">password</stringProp> |
| 361 | <stringProp name="Argument.desc">false</stringProp> |
| 362 | </elementProp> |
| 363 | <elementProp name="_eventId_submit" elementType="HTTPArgument"> |
| 364 | <boolProp name="HTTPArgument.always_encode">false</boolProp> |
| 365 | <stringProp name="Argument.value"></stringProp> |
| 366 | <stringProp name="Argument.metadata">=</stringProp> |
| 367 | <boolProp name="HTTPArgument.use_equals">true</boolProp> |
| 368 | <stringProp name="Argument.name">_eventId_submit</stringProp> |
| 369 | <stringProp name="Argument.desc">false</stringProp> |
| 370 | </elementProp> |
| 371 | <elementProp name="execution" elementType="HTTPArgument"> |
| 372 | <boolProp name="HTTPArgument.always_encode">false</boolProp> |
| 373 | <stringProp name="Argument.value">${ExecId}</stringProp> |
| 374 | <stringProp name="Argument.metadata">=</stringProp> |
| 375 | <boolProp name="HTTPArgument.use_equals">true</boolProp> |
| 376 | <stringProp name="Argument.name">execution</stringProp> |
| 377 | </elementProp> |
| 378 | </collectionProp> |
| 379 | </elementProp> |
| 380 | <stringProp name="HTTPSampler.domain"></stringProp> |
| 381 | <stringProp name="HTTPSampler.port"></stringProp> |
| 382 | <stringProp name="HTTPSampler.protocol"></stringProp> |
| 383 | <stringProp name="HTTPSampler.contentEncoding"></stringProp> |
| 384 | <stringProp name="HTTPSampler.path">${IdPHost}/cas/login?service=${__urlencode(${CasSP})}</stringProp> |
| 385 | <stringProp name="HTTPSampler.method">POST</stringProp> |
| 386 | <boolProp name="HTTPSampler.follow_redirects">true</boolProp> |
| 387 | <boolProp name="HTTPSampler.auto_redirects">false</boolProp> |
| 388 | <boolProp name="HTTPSampler.use_keepalive">true</boolProp> |
| 389 | <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> |
| 390 | <stringProp name="HTTPSampler.embedded_url_re"></stringProp> |
| 391 | <stringProp name="HTTPSampler.connect_timeout"></stringProp> |
| 392 | <stringProp name="HTTPSampler.response_timeout"></stringProp> |
| 393 | </HTTPSamplerProxy> |
| 394 | <hashTree> |
| 395 | <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract Ticket Variable" enabled="true"> |
| 396 | <stringProp name="RegexExtractor.useHeaders">URL</stringProp> |
| 397 | <stringProp name="RegexExtractor.refname">st</stringProp> |
| 398 | <stringProp name="RegexExtractor.regex">ticket=(.+)</stringProp> |
| 399 | <stringProp name="RegexExtractor.template">$1$</stringProp> |
| 400 | <stringProp name="RegexExtractor.default"></stringProp> |
| 401 | <stringProp name="RegexExtractor.match_number">1</stringProp> |
| 402 | <stringProp name="Sample.scope">all</stringProp> |
| 403 | </RegexExtractor> |
| 404 | <hashTree/> |
| 405 | </hashTree> |
| 406 | <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="POST - Login Credentials no Redirects" enabled="true"> |
| 407 | <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> |
| 408 | <collectionProp name="Arguments.arguments"> |
| 409 | <elementProp name="username" elementType="HTTPArgument"> |
| 410 | <boolProp name="HTTPArgument.always_encode">false</boolProp> |
| 411 | <stringProp name="Argument.value">${User}</stringProp> |
| 412 | <stringProp name="Argument.metadata">=</stringProp> |
| 413 | <boolProp name="HTTPArgument.use_equals">true</boolProp> |
| 414 | <stringProp name="Argument.name">username</stringProp> |
| 415 | <stringProp name="Argument.desc">false</stringProp> |
| 416 | </elementProp> |
| 417 | <elementProp name="password" elementType="HTTPArgument"> |
| 418 | <boolProp name="HTTPArgument.always_encode">false</boolProp> |
| 419 | <stringProp name="Argument.value">${Password}</stringProp> |
| 420 | <stringProp name="Argument.metadata">=</stringProp> |
| 421 | <boolProp name="HTTPArgument.use_equals">true</boolProp> |
| 422 | <stringProp name="Argument.name">password</stringProp> |
| 423 | <stringProp name="Argument.desc">false</stringProp> |
| 424 | </elementProp> |
| 425 | <elementProp name="_eventId_submit" elementType="HTTPArgument"> |
| 426 | <boolProp name="HTTPArgument.always_encode">false</boolProp> |
| 427 | <stringProp name="Argument.value"></stringProp> |
| 428 | <stringProp name="Argument.metadata">=</stringProp> |
| 429 | <boolProp name="HTTPArgument.use_equals">true</boolProp> |
| 430 | <stringProp name="Argument.name">_eventId_submit</stringProp> |
| 431 | <stringProp name="Argument.desc">false</stringProp> |
| 432 | </elementProp> |
| 433 | <elementProp name="execution" elementType="HTTPArgument"> |
| 434 | <boolProp name="HTTPArgument.always_encode">false</boolProp> |
| 435 | <stringProp name="Argument.value">${ExecId}</stringProp> |
| 436 | <stringProp name="Argument.metadata">=</stringProp> |
| 437 | <boolProp name="HTTPArgument.use_equals">true</boolProp> |
| 438 | <stringProp name="Argument.name">execution</stringProp> |
| 439 | </elementProp> |
| 440 | </collectionProp> |
| 441 | </elementProp> |
| 442 | <stringProp name="HTTPSampler.domain"></stringProp> |
| 443 | <stringProp name="HTTPSampler.port"></stringProp> |
| 444 | <stringProp name="HTTPSampler.protocol"></stringProp> |
| 445 | <stringProp name="HTTPSampler.contentEncoding"></stringProp> |
| 446 | <stringProp name="HTTPSampler.path">${IdPHost}/cas/login?service=${__urlencode(${CasSP})}</stringProp> |
| 447 | <stringProp name="HTTPSampler.method">POST</stringProp> |
| 448 | <boolProp name="HTTPSampler.follow_redirects">false</boolProp> |
| 449 | <boolProp name="HTTPSampler.auto_redirects">false</boolProp> |
| 450 | <boolProp name="HTTPSampler.use_keepalive">true</boolProp> |
| 451 | <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> |
| 452 | <stringProp name="HTTPSampler.embedded_url_re"></stringProp> |
| 453 | <stringProp name="HTTPSampler.connect_timeout"></stringProp> |
| 454 | <stringProp name="HTTPSampler.response_timeout"></stringProp> |
| 455 | </HTTPSamplerProxy> |
| 456 | <hashTree> |
| 457 | <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract Ticket Variable" enabled="true"> |
| 458 | <stringProp name="RegexExtractor.useHeaders">true</stringProp> |
| 459 | <stringProp name="RegexExtractor.refname">st</stringProp> |
| 460 | <stringProp name="RegexExtractor.regex">Location:(.+)ticket=(.+)</stringProp> |
| 461 | <stringProp name="RegexExtractor.template">$2$</stringProp> |
| 462 | <stringProp name="RegexExtractor.default"></stringProp> |
| 463 | <stringProp name="RegexExtractor.match_number">1</stringProp> |
| 464 | <stringProp name="Sample.scope">all</stringProp> |
| 465 | </RegexExtractor> |
| 466 | <hashTree/> |
| 467 | </hashTree> |
| 468 | </hashTree> |
| 469 | <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - User Info with Service Ticket" enabled="true"/> |
| 470 | <hashTree> |
| 471 | <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="CAS GET Ticket Info" enabled="true"> |
| 472 | <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> |
| 473 | <collectionProp name="Arguments.arguments"/> |
| 474 | </elementProp> |
| 475 | <stringProp name="HTTPSampler.domain"></stringProp> |
| 476 | <stringProp name="HTTPSampler.port"></stringProp> |
| 477 | <stringProp name="HTTPSampler.protocol"></stringProp> |
| 478 | <stringProp name="HTTPSampler.contentEncoding"></stringProp> |
| 479 | <stringProp name="HTTPSampler.path">${IdPHost}/cas/serviceValidate?ticket=${st}&service=${__urlencode(${CasSP})}</stringProp> |
| 480 | <stringProp name="HTTPSampler.method">GET</stringProp> |
| 481 | <boolProp name="HTTPSampler.follow_redirects">true</boolProp> |
| 482 | <boolProp name="HTTPSampler.auto_redirects">false</boolProp> |
| 483 | <boolProp name="HTTPSampler.use_keepalive">true</boolProp> |
| 484 | <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> |
| 485 | <stringProp name="HTTPSampler.embedded_url_re"></stringProp> |
| 486 | <stringProp name="HTTPSampler.connect_timeout"></stringProp> |
| 487 | <stringProp name="HTTPSampler.response_timeout"></stringProp> |
| 488 | </HTTPSamplerProxy> |
| 489 | <hashTree/> |
| 490 | <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Verify User Info Returned" enabled="true"> |
| 491 | <collectionProp name="Asserion.test_strings"> |
| 492 | <stringProp name="919549364"><cas:authenticationSuccess></stringProp> |
| 493 | <stringProp name="1774939698"><cas:user>${User}</cas:user></stringProp> |
| 494 | </collectionProp> |
| 495 | <stringProp name="Assertion.test_field">Assertion.response_data</stringProp> |
| 496 | <boolProp name="Assertion.assume_success">false</boolProp> |
| 497 | <intProp name="Assertion.test_type">2</intProp> |
| 498 | <stringProp name="TestPlan.comments">Verifies get user info on ticket validation</stringProp> |
| 499 | <stringProp name="Assertion.custom_message"></stringProp> |
| 500 | </ResponseAssertion> |
| 501 | <hashTree/> |
| 502 | </hashTree> |
| 503 | <TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="GET - User Logout" enabled="true"/> |
| 504 | <hashTree> |
| 505 | <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Get - User Logout" enabled="true"> |
| 506 | <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> |
| 507 | <collectionProp name="Arguments.arguments"/> |
| 508 | </elementProp> |
| 509 | <stringProp name="HTTPSampler.domain"></stringProp> |
| 510 | <stringProp name="HTTPSampler.port"></stringProp> |
| 511 | <stringProp name="HTTPSampler.protocol"></stringProp> |
| 512 | <stringProp name="HTTPSampler.contentEncoding"></stringProp> |
| 513 | <stringProp name="HTTPSampler.path">${IdPHost}/cas/logout</stringProp> |
| 514 | <stringProp name="HTTPSampler.method">GET</stringProp> |
| 515 | <boolProp name="HTTPSampler.follow_redirects">true</boolProp> |
| 516 | <boolProp name="HTTPSampler.auto_redirects">false</boolProp> |
| 517 | <boolProp name="HTTPSampler.use_keepalive">true</boolProp> |
| 518 | <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> |
| 519 | <stringProp name="HTTPSampler.embedded_url_re"></stringProp> |
| 520 | <stringProp name="HTTPSampler.connect_timeout"></stringProp> |
| 521 | <stringProp name="HTTPSampler.response_timeout"></stringProp> |
| 522 | </HTTPSamplerProxy> |
| 523 | <hashTree/> |
| 524 | <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Verify User Logged Out" enabled="true"> |
| 525 | <collectionProp name="Asserion.test_strings"> |
| 526 | <stringProp name="49586">200</stringProp> |
| 527 | </collectionProp> |
| 528 | <stringProp name="Assertion.test_field">Assertion.response_code</stringProp> |
| 529 | <boolProp name="Assertion.assume_success">false</boolProp> |
| 530 | <intProp name="Assertion.test_type">2</intProp> |
| 531 | <stringProp name="Assertion.custom_message"></stringProp> |
| 532 | </ResponseAssertion> |
| 533 | <hashTree/> |
| 534 | </hashTree> |
| 535 | </hashTree> |
| 536 | </hashTree> |
| 537 | </jmeterTestPlan> |