fcl-web_integrationtests.jmx 62 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <jmeterTestPlan version="1.2" properties="5.0" jmeter="5.4.1">
  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.tearDown_on_shutdown">true</boolProp>
  8. <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
  9. <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
  10. <collectionProp name="Arguments.arguments"/>
  11. </elementProp>
  12. <stringProp name="TestPlan.user_define_classpath"></stringProp>
  13. </TestPlan>
  14. <hashTree>
  15. <Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="Local settings" enabled="true">
  16. <collectionProp name="Arguments.arguments">
  17. <elementProp name="host" elementType="Argument">
  18. <stringProp name="Argument.name">host</stringProp>
  19. <stringProp name="Argument.value">127.0.0.1</stringProp>
  20. <stringProp name="Argument.metadata">=</stringProp>
  21. </elementProp>
  22. <elementProp name="protocol" elementType="Argument">
  23. <stringProp name="Argument.name">protocol</stringProp>
  24. <stringProp name="Argument.value">http</stringProp>
  25. <stringProp name="Argument.metadata">=</stringProp>
  26. </elementProp>
  27. <elementProp name="uri" elementType="Argument">
  28. <stringProp name="Argument.name">uri</stringProp>
  29. <stringProp name="Argument.value">fcgi</stringProp>
  30. <stringProp name="Argument.metadata">=</stringProp>
  31. </elementProp>
  32. <elementProp name="files_path" elementType="Argument">
  33. <stringProp name="Argument.name">files_path</stringProp>
  34. <stringProp name="Argument.value">${__BeanShell(import org.apache.jmeter.services.FileServer; FileServer.getFileServer().getBaseDir();)}${__BeanShell(File.separator,)}</stringProp>
  35. <stringProp name="Argument.metadata">=</stringProp>
  36. <stringProp name="Argument.desc">Location of the upload-files</stringProp>
  37. </elementProp>
  38. </collectionProp>
  39. </Arguments>
  40. <hashTree/>
  41. <ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP Request Defaults" enabled="true">
  42. <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
  43. <collectionProp name="Arguments.arguments"/>
  44. </elementProp>
  45. <stringProp name="HTTPSampler.domain">${host}</stringProp>
  46. <stringProp name="HTTPSampler.port"></stringProp>
  47. <stringProp name="HTTPSampler.protocol">${protocol}</stringProp>
  48. <stringProp name="HTTPSampler.contentEncoding"></stringProp>
  49. <stringProp name="HTTPSampler.path">${uri}</stringProp>
  50. <stringProp name="HTTPSampler.concurrentPool">6</stringProp>
  51. <stringProp name="HTTPSampler.connect_timeout"></stringProp>
  52. <stringProp name="HTTPSampler.response_timeout"></stringProp>
  53. </ConfigTestElement>
  54. <hashTree/>
  55. <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Thread Group" enabled="true">
  56. <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
  57. <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
  58. <boolProp name="LoopController.continue_forever">false</boolProp>
  59. <stringProp name="LoopController.loops">1</stringProp>
  60. </elementProp>
  61. <stringProp name="ThreadGroup.num_threads">1</stringProp>
  62. <stringProp name="ThreadGroup.ramp_time">1</stringProp>
  63. <boolProp name="ThreadGroup.scheduler">false</boolProp>
  64. <stringProp name="ThreadGroup.duration"></stringProp>
  65. <stringProp name="ThreadGroup.delay"></stringProp>
  66. <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
  67. </ThreadGroup>
  68. <hashTree>
  69. <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Post small file" enabled="true"/>
  70. <hashTree>
  71. <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true">
  72. <collectionProp name="HeaderManager.headers">
  73. <elementProp name="" elementType="Header">
  74. <stringProp name="Header.name">Content-Type</stringProp>
  75. <stringProp name="Header.value">multipart/form-data; boundary=------------------------e6d533842bd07008</stringProp>
  76. </elementProp>
  77. </collectionProp>
  78. </HeaderManager>
  79. <hashTree/>
  80. <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Post small file" enabled="true">
  81. <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
  82. <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
  83. <collectionProp name="Arguments.arguments">
  84. <elementProp name="" elementType="HTTPArgument">
  85. <boolProp name="HTTPArgument.always_encode">false</boolProp>
  86. <stringProp name="Argument.value">--------------------------e6d533842bd07008&#xd;
  87. Content-Disposition: form-data; name=&quot;upload&quot;; filename=&quot;UploadFileSmall.txt&quot;&#xd;
  88. Content-Type: text/plain&#xd;
  89. &#xd;
  90. Small&#xd;
  91. &#xd;
  92. --------------------------e6d533842bd07008--</stringProp>
  93. <stringProp name="Argument.metadata">=</stringProp>
  94. </elementProp>
  95. </collectionProp>
  96. </elementProp>
  97. <stringProp name="HTTPSampler.domain"></stringProp>
  98. <stringProp name="HTTPSampler.port"></stringProp>
  99. <stringProp name="HTTPSampler.protocol"></stringProp>
  100. <stringProp name="HTTPSampler.contentEncoding"></stringProp>
  101. <stringProp name="HTTPSampler.path"></stringProp>
  102. <stringProp name="HTTPSampler.method">POST</stringProp>
  103. <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
  104. <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
  105. <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
  106. <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
  107. <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
  108. <stringProp name="HTTPSampler.connect_timeout"></stringProp>
  109. <stringProp name="HTTPSampler.response_timeout"></stringProp>
  110. </HTTPSamplerProxy>
  111. <hashTree>
  112. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  113. <stringProp name="JSON_PATH">$.files[0].size</stringProp>
  114. <stringProp name="EXPECTED_VALUE">7</stringProp>
  115. <boolProp name="JSONVALIDATION">true</boolProp>
  116. <boolProp name="EXPECT_NULL">false</boolProp>
  117. <boolProp name="INVERT">false</boolProp>
  118. <boolProp name="ISREGEX">false</boolProp>
  119. </JSONPathAssertion>
  120. <hashTree/>
  121. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  122. <stringProp name="JSON_PATH">$.files[0].sha1</stringProp>
  123. <stringProp name="EXPECTED_VALUE">d9ce7590765717c47c737add2ac11e0665eabbea</stringProp>
  124. <boolProp name="JSONVALIDATION">true</boolProp>
  125. <boolProp name="EXPECT_NULL">false</boolProp>
  126. <boolProp name="INVERT">false</boolProp>
  127. <boolProp name="ISREGEX">false</boolProp>
  128. </JSONPathAssertion>
  129. <hashTree/>
  130. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  131. <stringProp name="JSON_PATH">$.files[0].contentType</stringProp>
  132. <stringProp name="EXPECTED_VALUE">text/plain</stringProp>
  133. <boolProp name="JSONVALIDATION">true</boolProp>
  134. <boolProp name="EXPECT_NULL">false</boolProp>
  135. <boolProp name="INVERT">false</boolProp>
  136. <boolProp name="ISREGEX">false</boolProp>
  137. </JSONPathAssertion>
  138. <hashTree/>
  139. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  140. <stringProp name="JSON_PATH">$.files[0].fieldname</stringProp>
  141. <stringProp name="EXPECTED_VALUE">upload</stringProp>
  142. <boolProp name="JSONVALIDATION">true</boolProp>
  143. <boolProp name="EXPECT_NULL">false</boolProp>
  144. <boolProp name="INVERT">false</boolProp>
  145. <boolProp name="ISREGEX">false</boolProp>
  146. </JSONPathAssertion>
  147. <hashTree/>
  148. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  149. <stringProp name="JSON_PATH">$.files[0].filename</stringProp>
  150. <stringProp name="EXPECTED_VALUE">UploadFileSmall.txt</stringProp>
  151. <boolProp name="JSONVALIDATION">true</boolProp>
  152. <boolProp name="EXPECT_NULL">false</boolProp>
  153. <boolProp name="INVERT">false</boolProp>
  154. <boolProp name="ISREGEX">false</boolProp>
  155. </JSONPathAssertion>
  156. <hashTree/>
  157. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  158. <stringProp name="JSON_PATH">$.content.raw</stringProp>
  159. <stringProp name="EXPECTED_VALUE"></stringProp>
  160. <boolProp name="JSONVALIDATION">true</boolProp>
  161. <boolProp name="EXPECT_NULL">false</boolProp>
  162. <boolProp name="INVERT">false</boolProp>
  163. <boolProp name="ISREGEX">false</boolProp>
  164. </JSONPathAssertion>
  165. <hashTree/>
  166. </hashTree>
  167. <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Post small file with preamble" enabled="true">
  168. <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
  169. <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
  170. <collectionProp name="Arguments.arguments">
  171. <elementProp name="" elementType="HTTPArgument">
  172. <boolProp name="HTTPArgument.always_encode">false</boolProp>
  173. <stringProp name="Argument.value">This is a message with multiple parts in MIME format.&#xd;
  174. --------------------------e6d533842bd07008&#xd;
  175. Content-Disposition: form-data; name=&quot;upload&quot;; filename=&quot;UploadFileSmall.txt&quot;&#xd;
  176. Content-Type: text/plain&#xd;
  177. &#xd;
  178. Small&#xd;
  179. &#xd;
  180. --------------------------e6d533842bd07008--</stringProp>
  181. <stringProp name="Argument.metadata">=</stringProp>
  182. </elementProp>
  183. </collectionProp>
  184. </elementProp>
  185. <stringProp name="HTTPSampler.domain"></stringProp>
  186. <stringProp name="HTTPSampler.port"></stringProp>
  187. <stringProp name="HTTPSampler.protocol"></stringProp>
  188. <stringProp name="HTTPSampler.contentEncoding"></stringProp>
  189. <stringProp name="HTTPSampler.path"></stringProp>
  190. <stringProp name="HTTPSampler.method">POST</stringProp>
  191. <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
  192. <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
  193. <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
  194. <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
  195. <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
  196. <stringProp name="HTTPSampler.connect_timeout"></stringProp>
  197. <stringProp name="HTTPSampler.response_timeout"></stringProp>
  198. </HTTPSamplerProxy>
  199. <hashTree>
  200. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  201. <stringProp name="JSON_PATH">$.files[0].size</stringProp>
  202. <stringProp name="EXPECTED_VALUE">7</stringProp>
  203. <boolProp name="JSONVALIDATION">true</boolProp>
  204. <boolProp name="EXPECT_NULL">false</boolProp>
  205. <boolProp name="INVERT">false</boolProp>
  206. <boolProp name="ISREGEX">false</boolProp>
  207. </JSONPathAssertion>
  208. <hashTree/>
  209. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  210. <stringProp name="JSON_PATH">$.files[0].sha1</stringProp>
  211. <stringProp name="EXPECTED_VALUE">d9ce7590765717c47c737add2ac11e0665eabbea</stringProp>
  212. <boolProp name="JSONVALIDATION">true</boolProp>
  213. <boolProp name="EXPECT_NULL">false</boolProp>
  214. <boolProp name="INVERT">false</boolProp>
  215. <boolProp name="ISREGEX">false</boolProp>
  216. </JSONPathAssertion>
  217. <hashTree/>
  218. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  219. <stringProp name="JSON_PATH">$.files[0].contentType</stringProp>
  220. <stringProp name="EXPECTED_VALUE">text/plain</stringProp>
  221. <boolProp name="JSONVALIDATION">true</boolProp>
  222. <boolProp name="EXPECT_NULL">false</boolProp>
  223. <boolProp name="INVERT">false</boolProp>
  224. <boolProp name="ISREGEX">false</boolProp>
  225. </JSONPathAssertion>
  226. <hashTree/>
  227. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  228. <stringProp name="JSON_PATH">$.files[0].fieldname</stringProp>
  229. <stringProp name="EXPECTED_VALUE">upload</stringProp>
  230. <boolProp name="JSONVALIDATION">true</boolProp>
  231. <boolProp name="EXPECT_NULL">false</boolProp>
  232. <boolProp name="INVERT">false</boolProp>
  233. <boolProp name="ISREGEX">false</boolProp>
  234. </JSONPathAssertion>
  235. <hashTree/>
  236. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  237. <stringProp name="JSON_PATH">$.files[0].filename</stringProp>
  238. <stringProp name="EXPECTED_VALUE">UploadFileSmall.txt</stringProp>
  239. <boolProp name="JSONVALIDATION">true</boolProp>
  240. <boolProp name="EXPECT_NULL">false</boolProp>
  241. <boolProp name="INVERT">false</boolProp>
  242. <boolProp name="ISREGEX">false</boolProp>
  243. </JSONPathAssertion>
  244. <hashTree/>
  245. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  246. <stringProp name="JSON_PATH">$.content.raw</stringProp>
  247. <stringProp name="EXPECTED_VALUE">This is a message with multiple parts in MIME format.</stringProp>
  248. <boolProp name="JSONVALIDATION">true</boolProp>
  249. <boolProp name="EXPECT_NULL">false</boolProp>
  250. <boolProp name="INVERT">false</boolProp>
  251. <boolProp name="ISREGEX">false</boolProp>
  252. </JSONPathAssertion>
  253. <hashTree/>
  254. </hashTree>
  255. </hashTree>
  256. <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Post small file (rfc1341)" enabled="true"/>
  257. <hashTree>
  258. <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true">
  259. <collectionProp name="HeaderManager.headers">
  260. <elementProp name="" elementType="Header">
  261. <stringProp name="Header.name">Content-Type</stringProp>
  262. <stringProp name="Header.value">multipart/form-data; boundary=&quot;------------------------e6d533842bd07008&quot;; type=Text/HTML</stringProp>
  263. </elementProp>
  264. </collectionProp>
  265. </HeaderManager>
  266. <hashTree/>
  267. <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Post small file - test rfc1341 content type " enabled="true">
  268. <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
  269. <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
  270. <collectionProp name="Arguments.arguments">
  271. <elementProp name="" elementType="HTTPArgument">
  272. <boolProp name="HTTPArgument.always_encode">false</boolProp>
  273. <stringProp name="Argument.value">--------------------------e6d533842bd07008&#xd;
  274. Content-Disposition: form-data; name=&quot;upload&quot;; filename=&quot;UploadFileSmall.txt&quot;&#xd;
  275. Content-Type: text/plain&#xd;
  276. &#xd;
  277. Small&#xd;
  278. &#xd;
  279. --------------------------e6d533842bd07008--</stringProp>
  280. <stringProp name="Argument.metadata">=</stringProp>
  281. </elementProp>
  282. </collectionProp>
  283. </elementProp>
  284. <stringProp name="HTTPSampler.domain"></stringProp>
  285. <stringProp name="HTTPSampler.port"></stringProp>
  286. <stringProp name="HTTPSampler.protocol"></stringProp>
  287. <stringProp name="HTTPSampler.contentEncoding"></stringProp>
  288. <stringProp name="HTTPSampler.path"></stringProp>
  289. <stringProp name="HTTPSampler.method">POST</stringProp>
  290. <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
  291. <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
  292. <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
  293. <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
  294. <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
  295. <stringProp name="HTTPSampler.connect_timeout"></stringProp>
  296. <stringProp name="HTTPSampler.response_timeout"></stringProp>
  297. </HTTPSamplerProxy>
  298. <hashTree>
  299. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  300. <stringProp name="JSON_PATH">$.files[0].size</stringProp>
  301. <stringProp name="EXPECTED_VALUE">7</stringProp>
  302. <boolProp name="JSONVALIDATION">true</boolProp>
  303. <boolProp name="EXPECT_NULL">false</boolProp>
  304. <boolProp name="INVERT">false</boolProp>
  305. <boolProp name="ISREGEX">false</boolProp>
  306. </JSONPathAssertion>
  307. <hashTree/>
  308. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  309. <stringProp name="JSON_PATH">$.files[0].sha1</stringProp>
  310. <stringProp name="EXPECTED_VALUE">d9ce7590765717c47c737add2ac11e0665eabbea</stringProp>
  311. <boolProp name="JSONVALIDATION">true</boolProp>
  312. <boolProp name="EXPECT_NULL">false</boolProp>
  313. <boolProp name="INVERT">false</boolProp>
  314. <boolProp name="ISREGEX">false</boolProp>
  315. </JSONPathAssertion>
  316. <hashTree/>
  317. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  318. <stringProp name="JSON_PATH">$.files[0].contentType</stringProp>
  319. <stringProp name="EXPECTED_VALUE">text/plain</stringProp>
  320. <boolProp name="JSONVALIDATION">true</boolProp>
  321. <boolProp name="EXPECT_NULL">false</boolProp>
  322. <boolProp name="INVERT">false</boolProp>
  323. <boolProp name="ISREGEX">false</boolProp>
  324. </JSONPathAssertion>
  325. <hashTree/>
  326. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  327. <stringProp name="JSON_PATH">$.files[0].fieldname</stringProp>
  328. <stringProp name="EXPECTED_VALUE">upload</stringProp>
  329. <boolProp name="JSONVALIDATION">true</boolProp>
  330. <boolProp name="EXPECT_NULL">false</boolProp>
  331. <boolProp name="INVERT">false</boolProp>
  332. <boolProp name="ISREGEX">false</boolProp>
  333. </JSONPathAssertion>
  334. <hashTree/>
  335. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  336. <stringProp name="JSON_PATH">$.files[0].filename</stringProp>
  337. <stringProp name="EXPECTED_VALUE">UploadFileSmall.txt</stringProp>
  338. <boolProp name="JSONVALIDATION">true</boolProp>
  339. <boolProp name="EXPECT_NULL">false</boolProp>
  340. <boolProp name="INVERT">false</boolProp>
  341. <boolProp name="ISREGEX">false</boolProp>
  342. </JSONPathAssertion>
  343. <hashTree/>
  344. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  345. <stringProp name="JSON_PATH">$.content.raw</stringProp>
  346. <stringProp name="EXPECTED_VALUE"></stringProp>
  347. <boolProp name="JSONVALIDATION">true</boolProp>
  348. <boolProp name="EXPECT_NULL">false</boolProp>
  349. <boolProp name="INVERT">false</boolProp>
  350. <boolProp name="ISREGEX">false</boolProp>
  351. </JSONPathAssertion>
  352. <hashTree/>
  353. </hashTree>
  354. </hashTree>
  355. <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Post other content-type (json)" enabled="true"/>
  356. <hashTree>
  357. <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true">
  358. <collectionProp name="HeaderManager.headers">
  359. <elementProp name="" elementType="Header">
  360. <stringProp name="Header.name">Content-Type</stringProp>
  361. <stringProp name="Header.value">application.json</stringProp>
  362. </elementProp>
  363. </collectionProp>
  364. </HeaderManager>
  365. <hashTree/>
  366. <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Post other content-type (json)" enabled="true">
  367. <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
  368. <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
  369. <collectionProp name="Arguments.arguments">
  370. <elementProp name="" elementType="HTTPArgument">
  371. <boolProp name="HTTPArgument.always_encode">false</boolProp>
  372. <stringProp name="Argument.value">{ &quot;name&quot;:&quot;some json data&quot;}</stringProp>
  373. <stringProp name="Argument.metadata">=</stringProp>
  374. </elementProp>
  375. </collectionProp>
  376. </elementProp>
  377. <stringProp name="HTTPSampler.domain"></stringProp>
  378. <stringProp name="HTTPSampler.port"></stringProp>
  379. <stringProp name="HTTPSampler.protocol"></stringProp>
  380. <stringProp name="HTTPSampler.contentEncoding"></stringProp>
  381. <stringProp name="HTTPSampler.path"></stringProp>
  382. <stringProp name="HTTPSampler.method">POST</stringProp>
  383. <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
  384. <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
  385. <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
  386. <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
  387. <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
  388. <stringProp name="HTTPSampler.connect_timeout"></stringProp>
  389. <stringProp name="HTTPSampler.response_timeout"></stringProp>
  390. </HTTPSamplerProxy>
  391. <hashTree>
  392. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  393. <stringProp name="JSON_PATH">$.content.raw</stringProp>
  394. <stringProp name="EXPECTED_VALUE">{ &quot;name&quot;:&quot;some json data&quot;}</stringProp>
  395. <boolProp name="JSONVALIDATION">true</boolProp>
  396. <boolProp name="EXPECT_NULL">false</boolProp>
  397. <boolProp name="INVERT">false</boolProp>
  398. <boolProp name="ISREGEX">false</boolProp>
  399. </JSONPathAssertion>
  400. <hashTree/>
  401. </hashTree>
  402. </hashTree>
  403. <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Post UploadFile1.txt" enabled="true">
  404. <elementProp name="HTTPsampler.Files" elementType="HTTPFileArgs">
  405. <collectionProp name="HTTPFileArgs.files">
  406. <elementProp name="${files_path}/UploadFile1.txt" elementType="HTTPFileArg">
  407. <stringProp name="File.path">${files_path}/UploadFile1.txt</stringProp>
  408. <stringProp name="File.paramname">upload</stringProp>
  409. <stringProp name="File.mimetype">text/plain</stringProp>
  410. </elementProp>
  411. </collectionProp>
  412. </elementProp>
  413. <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
  414. <collectionProp name="Arguments.arguments"/>
  415. </elementProp>
  416. <stringProp name="HTTPSampler.domain"></stringProp>
  417. <stringProp name="HTTPSampler.port"></stringProp>
  418. <stringProp name="HTTPSampler.protocol"></stringProp>
  419. <stringProp name="HTTPSampler.contentEncoding"></stringProp>
  420. <stringProp name="HTTPSampler.path"></stringProp>
  421. <stringProp name="HTTPSampler.method">POST</stringProp>
  422. <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
  423. <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
  424. <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
  425. <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
  426. <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
  427. <stringProp name="HTTPSampler.connect_timeout"></stringProp>
  428. <stringProp name="HTTPSampler.response_timeout"></stringProp>
  429. </HTTPSamplerProxy>
  430. <hashTree>
  431. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  432. <stringProp name="JSON_PATH">$.files[0].sha1</stringProp>
  433. <stringProp name="EXPECTED_VALUE">3752bdd4053e56cc7a22ccc66b887cae20299171</stringProp>
  434. <boolProp name="JSONVALIDATION">true</boolProp>
  435. <boolProp name="EXPECT_NULL">false</boolProp>
  436. <boolProp name="INVERT">false</boolProp>
  437. <boolProp name="ISREGEX">false</boolProp>
  438. </JSONPathAssertion>
  439. <hashTree/>
  440. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  441. <stringProp name="JSON_PATH">$.files[0].size</stringProp>
  442. <stringProp name="EXPECTED_VALUE">860</stringProp>
  443. <boolProp name="JSONVALIDATION">true</boolProp>
  444. <boolProp name="EXPECT_NULL">false</boolProp>
  445. <boolProp name="INVERT">false</boolProp>
  446. <boolProp name="ISREGEX">false</boolProp>
  447. </JSONPathAssertion>
  448. <hashTree/>
  449. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  450. <stringProp name="JSON_PATH">$.files[0].contentType</stringProp>
  451. <stringProp name="EXPECTED_VALUE">text/plain</stringProp>
  452. <boolProp name="JSONVALIDATION">true</boolProp>
  453. <boolProp name="EXPECT_NULL">false</boolProp>
  454. <boolProp name="INVERT">false</boolProp>
  455. <boolProp name="ISREGEX">false</boolProp>
  456. </JSONPathAssertion>
  457. <hashTree/>
  458. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  459. <stringProp name="JSON_PATH">$.files[0].filename</stringProp>
  460. <stringProp name="EXPECTED_VALUE">UploadFile1.txt</stringProp>
  461. <boolProp name="JSONVALIDATION">true</boolProp>
  462. <boolProp name="EXPECT_NULL">false</boolProp>
  463. <boolProp name="INVERT">false</boolProp>
  464. <boolProp name="ISREGEX">false</boolProp>
  465. </JSONPathAssertion>
  466. <hashTree/>
  467. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  468. <stringProp name="JSON_PATH">$.files[0].fieldname</stringProp>
  469. <stringProp name="EXPECTED_VALUE">upload</stringProp>
  470. <boolProp name="JSONVALIDATION">true</boolProp>
  471. <boolProp name="EXPECT_NULL">false</boolProp>
  472. <boolProp name="INVERT">false</boolProp>
  473. <boolProp name="ISREGEX">false</boolProp>
  474. </JSONPathAssertion>
  475. <hashTree/>
  476. </hashTree>
  477. <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Post UploadFile2.txt" enabled="true">
  478. <elementProp name="HTTPsampler.Files" elementType="HTTPFileArgs">
  479. <collectionProp name="HTTPFileArgs.files">
  480. <elementProp name="${files_path}/UploadFile2.txt" elementType="HTTPFileArg">
  481. <stringProp name="File.path">${files_path}/UploadFile2.txt</stringProp>
  482. <stringProp name="File.paramname">upload</stringProp>
  483. <stringProp name="File.mimetype">text/plain</stringProp>
  484. </elementProp>
  485. </collectionProp>
  486. </elementProp>
  487. <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
  488. <collectionProp name="Arguments.arguments"/>
  489. </elementProp>
  490. <stringProp name="HTTPSampler.domain"></stringProp>
  491. <stringProp name="HTTPSampler.port"></stringProp>
  492. <stringProp name="HTTPSampler.protocol"></stringProp>
  493. <stringProp name="HTTPSampler.contentEncoding"></stringProp>
  494. <stringProp name="HTTPSampler.path"></stringProp>
  495. <stringProp name="HTTPSampler.method">POST</stringProp>
  496. <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
  497. <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
  498. <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
  499. <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
  500. <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
  501. <stringProp name="HTTPSampler.connect_timeout"></stringProp>
  502. <stringProp name="HTTPSampler.response_timeout"></stringProp>
  503. </HTTPSamplerProxy>
  504. <hashTree>
  505. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  506. <stringProp name="JSON_PATH">$.files[0].sha1</stringProp>
  507. <stringProp name="EXPECTED_VALUE">7f125c999a6e0f78434d52f6658664e8de40b1c0</stringProp>
  508. <boolProp name="JSONVALIDATION">true</boolProp>
  509. <boolProp name="EXPECT_NULL">false</boolProp>
  510. <boolProp name="INVERT">false</boolProp>
  511. <boolProp name="ISREGEX">false</boolProp>
  512. </JSONPathAssertion>
  513. <hashTree/>
  514. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  515. <stringProp name="JSON_PATH">$.files[0].size</stringProp>
  516. <stringProp name="EXPECTED_VALUE">1418</stringProp>
  517. <boolProp name="JSONVALIDATION">true</boolProp>
  518. <boolProp name="EXPECT_NULL">false</boolProp>
  519. <boolProp name="INVERT">false</boolProp>
  520. <boolProp name="ISREGEX">false</boolProp>
  521. </JSONPathAssertion>
  522. <hashTree/>
  523. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  524. <stringProp name="JSON_PATH">$.files[0].contentType</stringProp>
  525. <stringProp name="EXPECTED_VALUE">text/plain</stringProp>
  526. <boolProp name="JSONVALIDATION">true</boolProp>
  527. <boolProp name="EXPECT_NULL">false</boolProp>
  528. <boolProp name="INVERT">false</boolProp>
  529. <boolProp name="ISREGEX">false</boolProp>
  530. </JSONPathAssertion>
  531. <hashTree/>
  532. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  533. <stringProp name="JSON_PATH">$.files[0].filename</stringProp>
  534. <stringProp name="EXPECTED_VALUE">UploadFile2.txt</stringProp>
  535. <boolProp name="JSONVALIDATION">true</boolProp>
  536. <boolProp name="EXPECT_NULL">false</boolProp>
  537. <boolProp name="INVERT">false</boolProp>
  538. <boolProp name="ISREGEX">false</boolProp>
  539. </JSONPathAssertion>
  540. <hashTree/>
  541. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  542. <stringProp name="JSON_PATH">$.files[0].fieldname</stringProp>
  543. <stringProp name="EXPECTED_VALUE">upload</stringProp>
  544. <boolProp name="JSONVALIDATION">true</boolProp>
  545. <boolProp name="EXPECT_NULL">false</boolProp>
  546. <boolProp name="INVERT">false</boolProp>
  547. <boolProp name="ISREGEX">false</boolProp>
  548. </JSONPathAssertion>
  549. <hashTree/>
  550. </hashTree>
  551. <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Post UploadFile3.txt" enabled="true">
  552. <elementProp name="HTTPsampler.Files" elementType="HTTPFileArgs">
  553. <collectionProp name="HTTPFileArgs.files">
  554. <elementProp name="${files_path}/UploadFile3.txt" elementType="HTTPFileArg">
  555. <stringProp name="File.path">${files_path}/UploadFile3.txt</stringProp>
  556. <stringProp name="File.paramname">upload</stringProp>
  557. <stringProp name="File.mimetype">text/plain</stringProp>
  558. </elementProp>
  559. </collectionProp>
  560. </elementProp>
  561. <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
  562. <collectionProp name="Arguments.arguments"/>
  563. </elementProp>
  564. <stringProp name="HTTPSampler.domain"></stringProp>
  565. <stringProp name="HTTPSampler.port"></stringProp>
  566. <stringProp name="HTTPSampler.protocol"></stringProp>
  567. <stringProp name="HTTPSampler.contentEncoding"></stringProp>
  568. <stringProp name="HTTPSampler.path"></stringProp>
  569. <stringProp name="HTTPSampler.method">POST</stringProp>
  570. <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
  571. <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
  572. <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
  573. <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
  574. <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
  575. <stringProp name="HTTPSampler.connect_timeout"></stringProp>
  576. <stringProp name="HTTPSampler.response_timeout"></stringProp>
  577. </HTTPSamplerProxy>
  578. <hashTree>
  579. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  580. <stringProp name="JSON_PATH">$.files[0].sha1</stringProp>
  581. <stringProp name="EXPECTED_VALUE">a074ac7a91209126796b4cae95e31ada7e58b5c0</stringProp>
  582. <boolProp name="JSONVALIDATION">true</boolProp>
  583. <boolProp name="EXPECT_NULL">false</boolProp>
  584. <boolProp name="INVERT">false</boolProp>
  585. <boolProp name="ISREGEX">false</boolProp>
  586. </JSONPathAssertion>
  587. <hashTree/>
  588. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  589. <stringProp name="JSON_PATH">$.files[0].size</stringProp>
  590. <stringProp name="EXPECTED_VALUE">77756</stringProp>
  591. <boolProp name="JSONVALIDATION">true</boolProp>
  592. <boolProp name="EXPECT_NULL">false</boolProp>
  593. <boolProp name="INVERT">false</boolProp>
  594. <boolProp name="ISREGEX">false</boolProp>
  595. </JSONPathAssertion>
  596. <hashTree/>
  597. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  598. <stringProp name="JSON_PATH">$.files[0].contentType</stringProp>
  599. <stringProp name="EXPECTED_VALUE">text/plain</stringProp>
  600. <boolProp name="JSONVALIDATION">true</boolProp>
  601. <boolProp name="EXPECT_NULL">false</boolProp>
  602. <boolProp name="INVERT">false</boolProp>
  603. <boolProp name="ISREGEX">false</boolProp>
  604. </JSONPathAssertion>
  605. <hashTree/>
  606. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  607. <stringProp name="JSON_PATH">$.files[0].filename</stringProp>
  608. <stringProp name="EXPECTED_VALUE">UploadFile3.txt</stringProp>
  609. <boolProp name="JSONVALIDATION">true</boolProp>
  610. <boolProp name="EXPECT_NULL">false</boolProp>
  611. <boolProp name="INVERT">false</boolProp>
  612. <boolProp name="ISREGEX">false</boolProp>
  613. </JSONPathAssertion>
  614. <hashTree/>
  615. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  616. <stringProp name="JSON_PATH">$.files[0].fieldname</stringProp>
  617. <stringProp name="EXPECTED_VALUE">upload</stringProp>
  618. <boolProp name="JSONVALIDATION">true</boolProp>
  619. <boolProp name="EXPECT_NULL">false</boolProp>
  620. <boolProp name="INVERT">false</boolProp>
  621. <boolProp name="ISREGEX">false</boolProp>
  622. </JSONPathAssertion>
  623. <hashTree/>
  624. </hashTree>
  625. <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Post UploadFile1.txt multiple times" enabled="true">
  626. <elementProp name="HTTPsampler.Files" elementType="HTTPFileArgs">
  627. <collectionProp name="HTTPFileArgs.files">
  628. <elementProp name="${files_path}/UploadFile1.txt" elementType="HTTPFileArg">
  629. <stringProp name="File.path">${files_path}/UploadFile1.txt</stringProp>
  630. <stringProp name="File.paramname">upload1</stringProp>
  631. <stringProp name="File.mimetype">text/plain</stringProp>
  632. </elementProp>
  633. <elementProp name="${files_path}/UploadFile1.txt" elementType="HTTPFileArg">
  634. <stringProp name="File.path">${files_path}/UploadFile1.txt</stringProp>
  635. <stringProp name="File.paramname">upload2</stringProp>
  636. <stringProp name="File.mimetype">text/plain</stringProp>
  637. </elementProp>
  638. <elementProp name="${files_path}/UploadFile1.txt" elementType="HTTPFileArg">
  639. <stringProp name="File.path">${files_path}/UploadFile1.txt</stringProp>
  640. <stringProp name="File.paramname">upload3</stringProp>
  641. <stringProp name="File.mimetype">text/plain</stringProp>
  642. </elementProp>
  643. <elementProp name="${files_path}/UploadFile1.txt" elementType="HTTPFileArg">
  644. <stringProp name="File.path">${files_path}/UploadFile1.txt</stringProp>
  645. <stringProp name="File.paramname">upload4</stringProp>
  646. <stringProp name="File.mimetype">text/plain</stringProp>
  647. </elementProp>
  648. </collectionProp>
  649. </elementProp>
  650. <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
  651. <collectionProp name="Arguments.arguments"/>
  652. </elementProp>
  653. <stringProp name="HTTPSampler.domain"></stringProp>
  654. <stringProp name="HTTPSampler.port"></stringProp>
  655. <stringProp name="HTTPSampler.protocol"></stringProp>
  656. <stringProp name="HTTPSampler.contentEncoding"></stringProp>
  657. <stringProp name="HTTPSampler.path"></stringProp>
  658. <stringProp name="HTTPSampler.method">POST</stringProp>
  659. <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
  660. <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
  661. <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
  662. <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
  663. <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
  664. <stringProp name="HTTPSampler.connect_timeout"></stringProp>
  665. <stringProp name="HTTPSampler.response_timeout"></stringProp>
  666. </HTTPSamplerProxy>
  667. <hashTree>
  668. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  669. <stringProp name="JSON_PATH">$.files[0].sha1</stringProp>
  670. <stringProp name="EXPECTED_VALUE">3752bdd4053e56cc7a22ccc66b887cae20299171</stringProp>
  671. <boolProp name="JSONVALIDATION">true</boolProp>
  672. <boolProp name="EXPECT_NULL">false</boolProp>
  673. <boolProp name="INVERT">false</boolProp>
  674. <boolProp name="ISREGEX">false</boolProp>
  675. </JSONPathAssertion>
  676. <hashTree/>
  677. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  678. <stringProp name="JSON_PATH">$.files[2].sha1</stringProp>
  679. <stringProp name="EXPECTED_VALUE">3752bdd4053e56cc7a22ccc66b887cae20299171</stringProp>
  680. <boolProp name="JSONVALIDATION">true</boolProp>
  681. <boolProp name="EXPECT_NULL">false</boolProp>
  682. <boolProp name="INVERT">false</boolProp>
  683. <boolProp name="ISREGEX">false</boolProp>
  684. </JSONPathAssertion>
  685. <hashTree/>
  686. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  687. <stringProp name="JSON_PATH">$.files[3].sha1</stringProp>
  688. <stringProp name="EXPECTED_VALUE">3752bdd4053e56cc7a22ccc66b887cae20299171</stringProp>
  689. <boolProp name="JSONVALIDATION">true</boolProp>
  690. <boolProp name="EXPECT_NULL">false</boolProp>
  691. <boolProp name="INVERT">false</boolProp>
  692. <boolProp name="ISREGEX">false</boolProp>
  693. </JSONPathAssertion>
  694. <hashTree/>
  695. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  696. <stringProp name="JSON_PATH">$.files[1].sha1</stringProp>
  697. <stringProp name="EXPECTED_VALUE">3752bdd4053e56cc7a22ccc66b887cae20299171</stringProp>
  698. <boolProp name="JSONVALIDATION">true</boolProp>
  699. <boolProp name="EXPECT_NULL">false</boolProp>
  700. <boolProp name="INVERT">false</boolProp>
  701. <boolProp name="ISREGEX">false</boolProp>
  702. </JSONPathAssertion>
  703. <hashTree/>
  704. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  705. <stringProp name="JSON_PATH">$.files[3].size</stringProp>
  706. <stringProp name="EXPECTED_VALUE">860</stringProp>
  707. <boolProp name="JSONVALIDATION">true</boolProp>
  708. <boolProp name="EXPECT_NULL">false</boolProp>
  709. <boolProp name="INVERT">false</boolProp>
  710. <boolProp name="ISREGEX">false</boolProp>
  711. </JSONPathAssertion>
  712. <hashTree/>
  713. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  714. <stringProp name="JSON_PATH">$.files[0].size</stringProp>
  715. <stringProp name="EXPECTED_VALUE">860</stringProp>
  716. <boolProp name="JSONVALIDATION">true</boolProp>
  717. <boolProp name="EXPECT_NULL">false</boolProp>
  718. <boolProp name="INVERT">false</boolProp>
  719. <boolProp name="ISREGEX">false</boolProp>
  720. </JSONPathAssertion>
  721. <hashTree/>
  722. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  723. <stringProp name="JSON_PATH">$.files[0].contentType</stringProp>
  724. <stringProp name="EXPECTED_VALUE">text/plain</stringProp>
  725. <boolProp name="JSONVALIDATION">true</boolProp>
  726. <boolProp name="EXPECT_NULL">false</boolProp>
  727. <boolProp name="INVERT">false</boolProp>
  728. <boolProp name="ISREGEX">false</boolProp>
  729. </JSONPathAssertion>
  730. <hashTree/>
  731. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  732. <stringProp name="JSON_PATH">$.files[0].filename</stringProp>
  733. <stringProp name="EXPECTED_VALUE">UploadFile1.txt</stringProp>
  734. <boolProp name="JSONVALIDATION">true</boolProp>
  735. <boolProp name="EXPECT_NULL">false</boolProp>
  736. <boolProp name="INVERT">false</boolProp>
  737. <boolProp name="ISREGEX">false</boolProp>
  738. </JSONPathAssertion>
  739. <hashTree/>
  740. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  741. <stringProp name="JSON_PATH">$.files[3].fieldname</stringProp>
  742. <stringProp name="EXPECTED_VALUE">upload1</stringProp>
  743. <boolProp name="JSONVALIDATION">true</boolProp>
  744. <boolProp name="EXPECT_NULL">false</boolProp>
  745. <boolProp name="INVERT">false</boolProp>
  746. <boolProp name="ISREGEX">false</boolProp>
  747. </JSONPathAssertion>
  748. <hashTree/>
  749. </hashTree>
  750. <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Post UploadFile1.txt in combination with field" enabled="true">
  751. <elementProp name="HTTPsampler.Files" elementType="HTTPFileArgs">
  752. <collectionProp name="HTTPFileArgs.files">
  753. <elementProp name="${files_path}/UploadFile1.txt" elementType="HTTPFileArg">
  754. <stringProp name="File.path">${files_path}/UploadFile1.txt</stringProp>
  755. <stringProp name="File.paramname">upload</stringProp>
  756. <stringProp name="File.mimetype">text/plain</stringProp>
  757. </elementProp>
  758. </collectionProp>
  759. </elementProp>
  760. <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
  761. <collectionProp name="Arguments.arguments">
  762. <elementProp name="Param1" elementType="HTTPArgument">
  763. <boolProp name="HTTPArgument.always_encode">false</boolProp>
  764. <stringProp name="Argument.value">Value1</stringProp>
  765. <stringProp name="Argument.metadata">=</stringProp>
  766. <boolProp name="HTTPArgument.use_equals">true</boolProp>
  767. <stringProp name="Argument.name">Param1</stringProp>
  768. </elementProp>
  769. </collectionProp>
  770. </elementProp>
  771. <stringProp name="HTTPSampler.domain"></stringProp>
  772. <stringProp name="HTTPSampler.port"></stringProp>
  773. <stringProp name="HTTPSampler.protocol"></stringProp>
  774. <stringProp name="HTTPSampler.contentEncoding"></stringProp>
  775. <stringProp name="HTTPSampler.path"></stringProp>
  776. <stringProp name="HTTPSampler.method">POST</stringProp>
  777. <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
  778. <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
  779. <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
  780. <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
  781. <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
  782. <stringProp name="HTTPSampler.connect_timeout"></stringProp>
  783. <stringProp name="HTTPSampler.response_timeout"></stringProp>
  784. </HTTPSamplerProxy>
  785. <hashTree>
  786. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  787. <stringProp name="JSON_PATH">$.files[0].sha1</stringProp>
  788. <stringProp name="EXPECTED_VALUE">3752bdd4053e56cc7a22ccc66b887cae20299171</stringProp>
  789. <boolProp name="JSONVALIDATION">true</boolProp>
  790. <boolProp name="EXPECT_NULL">false</boolProp>
  791. <boolProp name="INVERT">false</boolProp>
  792. <boolProp name="ISREGEX">false</boolProp>
  793. </JSONPathAssertion>
  794. <hashTree/>
  795. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  796. <stringProp name="JSON_PATH">$.files[0].size</stringProp>
  797. <stringProp name="EXPECTED_VALUE">860</stringProp>
  798. <boolProp name="JSONVALIDATION">true</boolProp>
  799. <boolProp name="EXPECT_NULL">false</boolProp>
  800. <boolProp name="INVERT">false</boolProp>
  801. <boolProp name="ISREGEX">false</boolProp>
  802. </JSONPathAssertion>
  803. <hashTree/>
  804. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  805. <stringProp name="JSON_PATH">$.files[0].contentType</stringProp>
  806. <stringProp name="EXPECTED_VALUE">text/plain</stringProp>
  807. <boolProp name="JSONVALIDATION">true</boolProp>
  808. <boolProp name="EXPECT_NULL">false</boolProp>
  809. <boolProp name="INVERT">false</boolProp>
  810. <boolProp name="ISREGEX">false</boolProp>
  811. </JSONPathAssertion>
  812. <hashTree/>
  813. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  814. <stringProp name="JSON_PATH">$.files[0].filename</stringProp>
  815. <stringProp name="EXPECTED_VALUE">UploadFile1.txt</stringProp>
  816. <boolProp name="JSONVALIDATION">true</boolProp>
  817. <boolProp name="EXPECT_NULL">false</boolProp>
  818. <boolProp name="INVERT">false</boolProp>
  819. <boolProp name="ISREGEX">false</boolProp>
  820. </JSONPathAssertion>
  821. <hashTree/>
  822. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  823. <stringProp name="JSON_PATH">$.files[0].fieldname</stringProp>
  824. <stringProp name="EXPECTED_VALUE">upload</stringProp>
  825. <boolProp name="JSONVALIDATION">true</boolProp>
  826. <boolProp name="EXPECT_NULL">false</boolProp>
  827. <boolProp name="INVERT">false</boolProp>
  828. <boolProp name="ISREGEX">false</boolProp>
  829. </JSONPathAssertion>
  830. <hashTree/>
  831. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  832. <stringProp name="JSON_PATH">$.content.fields[1].name</stringProp>
  833. <stringProp name="EXPECTED_VALUE">Param1</stringProp>
  834. <boolProp name="JSONVALIDATION">true</boolProp>
  835. <boolProp name="EXPECT_NULL">false</boolProp>
  836. <boolProp name="INVERT">false</boolProp>
  837. <boolProp name="ISREGEX">false</boolProp>
  838. </JSONPathAssertion>
  839. <hashTree/>
  840. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  841. <stringProp name="JSON_PATH">$.content.fields[1].value</stringProp>
  842. <stringProp name="EXPECTED_VALUE">Value1</stringProp>
  843. <boolProp name="JSONVALIDATION">true</boolProp>
  844. <boolProp name="EXPECT_NULL">false</boolProp>
  845. <boolProp name="INVERT">false</boolProp>
  846. <boolProp name="ISREGEX">false</boolProp>
  847. </JSONPathAssertion>
  848. <hashTree/>
  849. </hashTree>
  850. <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Post urlencoded" enabled="true">
  851. <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
  852. <collectionProp name="Arguments.arguments">
  853. <elementProp name="Param1" elementType="HTTPArgument">
  854. <boolProp name="HTTPArgument.always_encode">true</boolProp>
  855. <stringProp name="Argument.value">Value1</stringProp>
  856. <stringProp name="Argument.metadata">=</stringProp>
  857. <boolProp name="HTTPArgument.use_equals">true</boolProp>
  858. <stringProp name="Argument.name">Param1</stringProp>
  859. </elementProp>
  860. </collectionProp>
  861. </elementProp>
  862. <stringProp name="HTTPSampler.domain"></stringProp>
  863. <stringProp name="HTTPSampler.port"></stringProp>
  864. <stringProp name="HTTPSampler.protocol"></stringProp>
  865. <stringProp name="HTTPSampler.contentEncoding"></stringProp>
  866. <stringProp name="HTTPSampler.path"></stringProp>
  867. <stringProp name="HTTPSampler.method">POST</stringProp>
  868. <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
  869. <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
  870. <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
  871. <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
  872. <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
  873. <stringProp name="HTTPSampler.connect_timeout"></stringProp>
  874. <stringProp name="HTTPSampler.response_timeout"></stringProp>
  875. </HTTPSamplerProxy>
  876. <hashTree>
  877. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  878. <stringProp name="JSON_PATH">$.content.fields[0].name</stringProp>
  879. <stringProp name="EXPECTED_VALUE">Param1</stringProp>
  880. <boolProp name="JSONVALIDATION">true</boolProp>
  881. <boolProp name="EXPECT_NULL">false</boolProp>
  882. <boolProp name="INVERT">false</boolProp>
  883. <boolProp name="ISREGEX">false</boolProp>
  884. </JSONPathAssertion>
  885. <hashTree/>
  886. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  887. <stringProp name="JSON_PATH">$.content.fields[0].value</stringProp>
  888. <stringProp name="EXPECTED_VALUE">Value1</stringProp>
  889. <boolProp name="JSONVALIDATION">true</boolProp>
  890. <boolProp name="EXPECT_NULL">false</boolProp>
  891. <boolProp name="INVERT">false</boolProp>
  892. <boolProp name="ISREGEX">false</boolProp>
  893. </JSONPathAssertion>
  894. <hashTree/>
  895. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  896. <stringProp name="JSON_PATH">$.content.raw</stringProp>
  897. <stringProp name="EXPECTED_VALUE"></stringProp>
  898. <boolProp name="JSONVALIDATION">true</boolProp>
  899. <boolProp name="EXPECT_NULL">false</boolProp>
  900. <boolProp name="INVERT">false</boolProp>
  901. <boolProp name="ISREGEX">false</boolProp>
  902. </JSONPathAssertion>
  903. <hashTree/>
  904. </hashTree>
  905. </hashTree>
  906. <PostThreadGroup guiclass="PostThreadGroupGui" testclass="PostThreadGroup" testname="tearDown Thread Group" enabled="true">
  907. <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
  908. <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
  909. <boolProp name="LoopController.continue_forever">false</boolProp>
  910. <stringProp name="LoopController.loops">1</stringProp>
  911. </elementProp>
  912. <stringProp name="ThreadGroup.num_threads">1</stringProp>
  913. <stringProp name="ThreadGroup.ramp_time">1</stringProp>
  914. <boolProp name="ThreadGroup.scheduler">false</boolProp>
  915. <stringProp name="ThreadGroup.duration"></stringProp>
  916. <stringProp name="ThreadGroup.delay"></stringProp>
  917. <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
  918. </PostThreadGroup>
  919. <hashTree>
  920. <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Request shutdown (check for memory leaks manually)" enabled="true">
  921. <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
  922. <collectionProp name="Arguments.arguments">
  923. <elementProp name="shutdown" elementType="HTTPArgument">
  924. <boolProp name="HTTPArgument.always_encode">true</boolProp>
  925. <stringProp name="Argument.value">true</stringProp>
  926. <stringProp name="Argument.metadata">=</stringProp>
  927. <boolProp name="HTTPArgument.use_equals">true</boolProp>
  928. <stringProp name="Argument.name">shutdown</stringProp>
  929. </elementProp>
  930. </collectionProp>
  931. </elementProp>
  932. <stringProp name="HTTPSampler.domain"></stringProp>
  933. <stringProp name="HTTPSampler.port"></stringProp>
  934. <stringProp name="HTTPSampler.protocol"></stringProp>
  935. <stringProp name="HTTPSampler.contentEncoding"></stringProp>
  936. <stringProp name="HTTPSampler.path"></stringProp>
  937. <stringProp name="HTTPSampler.method">GET</stringProp>
  938. <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
  939. <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
  940. <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
  941. <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
  942. <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
  943. <stringProp name="HTTPSampler.connect_timeout"></stringProp>
  944. <stringProp name="HTTPSampler.response_timeout"></stringProp>
  945. </HTTPSamplerProxy>
  946. <hashTree>
  947. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="JSON Assertion" enabled="true">
  948. <stringProp name="JSON_PATH">$.shutdown</stringProp>
  949. <stringProp name="EXPECTED_VALUE">true</stringProp>
  950. <boolProp name="JSONVALIDATION">true</boolProp>
  951. <boolProp name="EXPECT_NULL">false</boolProp>
  952. <boolProp name="INVERT">false</boolProp>
  953. <boolProp name="ISREGEX">false</boolProp>
  954. </JSONPathAssertion>
  955. <hashTree/>
  956. </hashTree>
  957. </hashTree>
  958. <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true">
  959. <boolProp name="ResultCollector.error_logging">false</boolProp>
  960. <objProp>
  961. <name>saveConfig</name>
  962. <value class="SampleSaveConfiguration">
  963. <time>true</time>
  964. <latency>true</latency>
  965. <timestamp>true</timestamp>
  966. <success>true</success>
  967. <label>true</label>
  968. <code>true</code>
  969. <message>true</message>
  970. <threadName>true</threadName>
  971. <dataType>true</dataType>
  972. <encoding>false</encoding>
  973. <assertions>true</assertions>
  974. <subresults>true</subresults>
  975. <responseData>false</responseData>
  976. <samplerData>false</samplerData>
  977. <xml>false</xml>
  978. <fieldNames>true</fieldNames>
  979. <responseHeaders>false</responseHeaders>
  980. <requestHeaders>false</requestHeaders>
  981. <responseDataOnError>false</responseDataOnError>
  982. <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
  983. <assertionsResultsToSave>0</assertionsResultsToSave>
  984. <bytes>true</bytes>
  985. <sentBytes>true</sentBytes>
  986. <url>true</url>
  987. <threadCounts>true</threadCounts>
  988. <idleTime>true</idleTime>
  989. <connectTime>true</connectTime>
  990. </value>
  991. </objProp>
  992. <stringProp name="filename"></stringProp>
  993. </ResultCollector>
  994. <hashTree/>
  995. <ResultCollector guiclass="SummaryReport" testclass="ResultCollector" testname="Summary Report" enabled="true">
  996. <boolProp name="ResultCollector.error_logging">false</boolProp>
  997. <objProp>
  998. <name>saveConfig</name>
  999. <value class="SampleSaveConfiguration">
  1000. <time>true</time>
  1001. <latency>true</latency>
  1002. <timestamp>true</timestamp>
  1003. <success>true</success>
  1004. <label>true</label>
  1005. <code>true</code>
  1006. <message>true</message>
  1007. <threadName>true</threadName>
  1008. <dataType>true</dataType>
  1009. <encoding>false</encoding>
  1010. <assertions>true</assertions>
  1011. <subresults>true</subresults>
  1012. <responseData>false</responseData>
  1013. <samplerData>false</samplerData>
  1014. <xml>false</xml>
  1015. <fieldNames>true</fieldNames>
  1016. <responseHeaders>false</responseHeaders>
  1017. <requestHeaders>false</requestHeaders>
  1018. <responseDataOnError>false</responseDataOnError>
  1019. <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
  1020. <assertionsResultsToSave>0</assertionsResultsToSave>
  1021. <bytes>true</bytes>
  1022. <sentBytes>true</sentBytes>
  1023. <url>true</url>
  1024. <threadCounts>true</threadCounts>
  1025. <idleTime>true</idleTime>
  1026. <connectTime>true</connectTime>
  1027. </value>
  1028. </objProp>
  1029. <stringProp name="filename"></stringProp>
  1030. </ResultCollector>
  1031. <hashTree/>
  1032. </hashTree>
  1033. </hashTree>
  1034. </jmeterTestPlan>