02_顺德WMS@入库之验收提交.jmx 51 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <jmeterTestPlan version="1.2" properties="5.0" jmeter="5.4.3">
  3. <hashTree>
  4. <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="顺德WMS@入库之验收提交" 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="环境变量-本地环境" enabled="false">
  16. <collectionProp name="Arguments.arguments">
  17. <elementProp name="thread_count" elementType="Argument">
  18. <stringProp name="Argument.name">thread_count</stringProp>
  19. <stringProp name="Argument.value">100</stringProp>
  20. <stringProp name="Argument.metadata">=</stringProp>
  21. </elementProp>
  22. <elementProp name="server" elementType="Argument">
  23. <stringProp name="Argument.name">server</stringProp>
  24. <stringProp name="Argument.value">127.0.0.1</stringProp>
  25. <stringProp name="Argument.metadata">=</stringProp>
  26. </elementProp>
  27. <elementProp name="port" elementType="Argument">
  28. <stringProp name="Argument.name">port</stringProp>
  29. <stringProp name="Argument.value">8085</stringProp>
  30. <stringProp name="Argument.metadata">=</stringProp>
  31. </elementProp>
  32. <elementProp name="wh_id" elementType="Argument">
  33. <stringProp name="Argument.name">wh_id</stringProp>
  34. <stringProp name="Argument.value">1000001</stringProp>
  35. <stringProp name="Argument.metadata">=</stringProp>
  36. </elementProp>
  37. <elementProp name="owner_id" elementType="Argument">
  38. <stringProp name="Argument.name">owner_id</stringProp>
  39. <stringProp name="Argument.value">1096478673436938240</stringProp>
  40. <stringProp name="Argument.metadata">=</stringProp>
  41. </elementProp>
  42. <elementProp name="system_key" elementType="Argument">
  43. <stringProp name="Argument.name">system_key</stringProp>
  44. <stringProp name="Argument.value">eyJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJ5dmFuLXNlY3VyaXR5IiwiX191aWQiOiIzMTUwNzI4MTM1MDc1NDMwNDUiLCJhdWQiOiJ5dmFuLSoiLCJzdWIiOiJhZG1pbiIsImxvZ2luX2lkIjozMTYzNTczNDM4MTE5OTM2MDksImV4cCI6MTcyNTk5NzUwMCwiaWF0IjoxNzIzNDQ3NTA5LCJqdGkiOiI0MjczNTg1NTc3MjY4NDAzNjQifQ.g5JO8RAqDcipomhOs9pmpfuz-b_nznlssihFY0pCpSPBpkd3L6dr6_FAX8g-oD_EpBoK3Ng_Lh9eqI06Wg2LftxzPn0AagQHmKVtUlY_vDJOQweAmoZRGSFL57xV-UVGI2pgY47nWZVbWS0iFu8s5LgzbvfZABNKfiYYR8VlfN7xL63jfxyjX1uCKxLvGWtzpxDnKWtxJshpBazxyR1qgUci1s2Q_mD9Ljxc2hiwopaizhCuIVytBjAvwS6nYKGqGbyKEdnFt5SFu5EctYkwrEjuk8wtAlGgAiUoT1wb2_JwiS9d_zh24CFYchjiAWrKgmHRSeWekRlszJV_se-Mtw</stringProp>
  45. <stringProp name="Argument.metadata">=</stringProp>
  46. </elementProp>
  47. </collectionProp>
  48. </Arguments>
  49. <hashTree/>
  50. <Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="环境变量-SD测试" enabled="true">
  51. <collectionProp name="Arguments.arguments">
  52. <elementProp name="server" elementType="Argument">
  53. <stringProp name="Argument.name">server</stringProp>
  54. <stringProp name="Argument.value">wms-system.test.sdl.com</stringProp>
  55. <stringProp name="Argument.metadata">=</stringProp>
  56. </elementProp>
  57. <elementProp name="port" elementType="Argument">
  58. <stringProp name="Argument.name">port</stringProp>
  59. <stringProp name="Argument.value">8000</stringProp>
  60. <stringProp name="Argument.metadata">=</stringProp>
  61. </elementProp>
  62. <elementProp name="wh_id" elementType="Argument">
  63. <stringProp name="Argument.name">wh_id</stringProp>
  64. <stringProp name="Argument.value">1000001</stringProp>
  65. <stringProp name="Argument.metadata">=</stringProp>
  66. </elementProp>
  67. <elementProp name="system_key" elementType="Argument">
  68. <stringProp name="Argument.name">system_key</stringProp>
  69. <stringProp name="Argument.value">eyJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJ5dmFuLXNlY3VyaXR5IiwiX191aWQiOiIzMTUwNzI4MTM1MDc1NDMwNDUiLCJhdWQiOiJ5dmFuLSoiLCJzdWIiOiJhZG1pbiIsImxvZ2luX2lkIjozMTYzNTczNDM4MTE5OTM2MDksImV4cCI6MTcyNjg2MTUwMCwiaWF0IjoxNzI0MzEyMDgxLCJqdGkiOiI0MzQ2MTExMDkwMTkyNjA0NzgifQ.Vor5psK98IdvpxcN1LNV2L0bXNnLHx6b5R4cKS2VwbywoWyfaUtHCXh1xv3qeCphy5GuSeXrvepTsQdXkt81l7Gx_4Lg-qUXs32mYhaclpFlvjhprcAx6cKm8_PgtSNWSEiWZ5gKP5dH3GWlaSxNQPviIY1SXIGdChUGkhwlFN-EXBBQTtJbMYHxhXjJwd3HCKfyH6qP1RYK4MN_lFd_mQRWnS3lCFrU4pd1aWaeqCowy8PNP4alAnzYQRbVL9yL8gItp2i6hIJggtDG83T5tBBE6euamN3jvXOM8O0tflxDL5oRVCX2I59Qo_F-LkrWsmm5pqBlegaWdlG8Ue1aEg</stringProp>
  70. <stringProp name="Argument.metadata">=</stringProp>
  71. </elementProp>
  72. <elementProp name="poLineNum" elementType="Argument">
  73. <stringProp name="Argument.name">poLineNum</stringProp>
  74. <stringProp name="Argument.value">200</stringProp>
  75. <stringProp name="Argument.metadata">=</stringProp>
  76. </elementProp>
  77. <elementProp name="sequence_start_value" elementType="Argument">
  78. <stringProp name="Argument.name">sequence_start_value</stringProp>
  79. <stringProp name="Argument.value">20000</stringProp>
  80. <stringProp name="Argument.metadata">=</stringProp>
  81. </elementProp>
  82. </collectionProp>
  83. </Arguments>
  84. <hashTree/>
  85. <Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="环境变量-测试环境" enabled="false">
  86. <collectionProp name="Arguments.arguments">
  87. <elementProp name="thread_count" elementType="Argument">
  88. <stringProp name="Argument.name">thread_count</stringProp>
  89. <stringProp name="Argument.value">100</stringProp>
  90. <stringProp name="Argument.metadata">=</stringProp>
  91. </elementProp>
  92. <elementProp name="server" elementType="Argument">
  93. <stringProp name="Argument.name">server</stringProp>
  94. <stringProp name="Argument.value">122.9.140.63</stringProp>
  95. <stringProp name="Argument.metadata">=</stringProp>
  96. </elementProp>
  97. <elementProp name="port" elementType="Argument">
  98. <stringProp name="Argument.name">port</stringProp>
  99. <stringProp name="Argument.value">8006</stringProp>
  100. <stringProp name="Argument.metadata">=</stringProp>
  101. </elementProp>
  102. <elementProp name="wh_id" elementType="Argument">
  103. <stringProp name="Argument.name">wh_id</stringProp>
  104. <stringProp name="Argument.value">1000001</stringProp>
  105. <stringProp name="Argument.metadata">=</stringProp>
  106. </elementProp>
  107. <elementProp name="system_key" elementType="Argument">
  108. <stringProp name="Argument.name">system_key</stringProp>
  109. <stringProp name="Argument.value">eyJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJ5dmFuLXNlY3VyaXR5IiwiX191aWQiOiIzMTUwNzI4MTM1MDc1NDMwNDUiLCJhdWQiOiJ5dmFuLSoiLCJzdWIiOiJhZG1pbiIsImxvZ2luX2lkIjozMTYzNTczNDM4MTE5OTM2MDksImV4cCI6MTcyNTk5NzUwMCwiaWF0IjoxNzIzNDQ3NTA5LCJqdGkiOiI0MjczNTg1NTc3MjY4NDAzNjQifQ.g5JO8RAqDcipomhOs9pmpfuz-b_nznlssihFY0pCpSPBpkd3L6dr6_FAX8g-oD_EpBoK3Ng_Lh9eqI06Wg2LftxzPn0AagQHmKVtUlY_vDJOQweAmoZRGSFL57xV-UVGI2pgY47nWZVbWS0iFu8s5LgzbvfZABNKfiYYR8VlfN7xL63jfxyjX1uCKxLvGWtzpxDnKWtxJshpBazxyR1qgUci1s2Q_mD9Ljxc2hiwopaizhCuIVytBjAvwS6nYKGqGbyKEdnFt5SFu5EctYkwrEjuk8wtAlGgAiUoT1wb2_JwiS9d_zh24CFYchjiAWrKgmHRSeWekRlszJV_se-Mtw</stringProp>
  110. <stringProp name="Argument.metadata">=</stringProp>
  111. </elementProp>
  112. </collectionProp>
  113. </Arguments>
  114. <hashTree/>
  115. <kg.apc.jmeter.threads.SteppingThreadGroup guiclass="kg.apc.jmeter.threads.SteppingThreadGroupGui" testclass="kg.apc.jmeter.threads.SteppingThreadGroup" testname="入库之验收提交" enabled="true">
  116. <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
  117. <stringProp name="ThreadGroup.num_threads">100</stringProp>
  118. <stringProp name="Threads initial delay">0</stringProp>
  119. <stringProp name="Start users count">10</stringProp>
  120. <stringProp name="Start users count burst">0</stringProp>
  121. <stringProp name="Start users period">30</stringProp>
  122. <stringProp name="Stop users count">5</stringProp>
  123. <stringProp name="Stop users period">1</stringProp>
  124. <stringProp name="flighttime">60</stringProp>
  125. <stringProp name="rampUp">5</stringProp>
  126. <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
  127. <boolProp name="LoopController.continue_forever">false</boolProp>
  128. <intProp name="LoopController.loops">-1</intProp>
  129. </elementProp>
  130. </kg.apc.jmeter.threads.SteppingThreadGroup>
  131. <hashTree>
  132. <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true">
  133. <boolProp name="ResultCollector.error_logging">false</boolProp>
  134. <objProp>
  135. <name>saveConfig</name>
  136. <value class="SampleSaveConfiguration">
  137. <time>true</time>
  138. <latency>true</latency>
  139. <timestamp>true</timestamp>
  140. <success>true</success>
  141. <label>true</label>
  142. <code>true</code>
  143. <message>true</message>
  144. <threadName>true</threadName>
  145. <dataType>true</dataType>
  146. <encoding>false</encoding>
  147. <assertions>true</assertions>
  148. <subresults>true</subresults>
  149. <responseData>false</responseData>
  150. <samplerData>false</samplerData>
  151. <xml>false</xml>
  152. <fieldNames>true</fieldNames>
  153. <responseHeaders>false</responseHeaders>
  154. <requestHeaders>false</requestHeaders>
  155. <responseDataOnError>false</responseDataOnError>
  156. <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
  157. <assertionsResultsToSave>0</assertionsResultsToSave>
  158. <bytes>true</bytes>
  159. <sentBytes>true</sentBytes>
  160. <url>true</url>
  161. <threadCounts>true</threadCounts>
  162. <idleTime>true</idleTime>
  163. <connectTime>true</connectTime>
  164. </value>
  165. </objProp>
  166. <stringProp name="filename"></stringProp>
  167. </ResultCollector>
  168. <hashTree/>
  169. <ResultCollector guiclass="RespTimeGraphVisualizer" testclass="ResultCollector" testname="Response Time Graph" enabled="true">
  170. <boolProp name="ResultCollector.error_logging">false</boolProp>
  171. <objProp>
  172. <name>saveConfig</name>
  173. <value class="SampleSaveConfiguration">
  174. <time>true</time>
  175. <latency>true</latency>
  176. <timestamp>true</timestamp>
  177. <success>true</success>
  178. <label>true</label>
  179. <code>true</code>
  180. <message>true</message>
  181. <threadName>true</threadName>
  182. <dataType>true</dataType>
  183. <encoding>false</encoding>
  184. <assertions>true</assertions>
  185. <subresults>true</subresults>
  186. <responseData>false</responseData>
  187. <samplerData>false</samplerData>
  188. <xml>false</xml>
  189. <fieldNames>true</fieldNames>
  190. <responseHeaders>false</responseHeaders>
  191. <requestHeaders>false</requestHeaders>
  192. <responseDataOnError>false</responseDataOnError>
  193. <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
  194. <assertionsResultsToSave>0</assertionsResultsToSave>
  195. <bytes>true</bytes>
  196. <sentBytes>true</sentBytes>
  197. <url>true</url>
  198. <threadCounts>true</threadCounts>
  199. <idleTime>true</idleTime>
  200. <connectTime>true</connectTime>
  201. </value>
  202. </objProp>
  203. <stringProp name="filename"></stringProp>
  204. </ResultCollector>
  205. <hashTree/>
  206. <ResultCollector guiclass="StatVisualizer" testclass="ResultCollector" testname="Aggregate Report" enabled="true">
  207. <boolProp name="ResultCollector.error_logging">false</boolProp>
  208. <objProp>
  209. <name>saveConfig</name>
  210. <value class="SampleSaveConfiguration">
  211. <time>true</time>
  212. <latency>true</latency>
  213. <timestamp>true</timestamp>
  214. <success>true</success>
  215. <label>true</label>
  216. <code>true</code>
  217. <message>true</message>
  218. <threadName>true</threadName>
  219. <dataType>true</dataType>
  220. <encoding>false</encoding>
  221. <assertions>true</assertions>
  222. <subresults>true</subresults>
  223. <responseData>false</responseData>
  224. <samplerData>false</samplerData>
  225. <xml>false</xml>
  226. <fieldNames>true</fieldNames>
  227. <responseHeaders>false</responseHeaders>
  228. <requestHeaders>false</requestHeaders>
  229. <responseDataOnError>false</responseDataOnError>
  230. <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
  231. <assertionsResultsToSave>0</assertionsResultsToSave>
  232. <bytes>true</bytes>
  233. <sentBytes>true</sentBytes>
  234. <url>true</url>
  235. <threadCounts>true</threadCounts>
  236. <idleTime>true</idleTime>
  237. <connectTime>true</connectTime>
  238. </value>
  239. </objProp>
  240. <stringProp name="filename"></stringProp>
  241. </ResultCollector>
  242. <hashTree/>
  243. <ResultCollector guiclass="SummaryReport" testclass="ResultCollector" testname="Summary Report" enabled="true">
  244. <boolProp name="ResultCollector.error_logging">false</boolProp>
  245. <objProp>
  246. <name>saveConfig</name>
  247. <value class="SampleSaveConfiguration">
  248. <time>true</time>
  249. <latency>true</latency>
  250. <timestamp>true</timestamp>
  251. <success>true</success>
  252. <label>true</label>
  253. <code>true</code>
  254. <message>true</message>
  255. <threadName>true</threadName>
  256. <dataType>true</dataType>
  257. <encoding>false</encoding>
  258. <assertions>true</assertions>
  259. <subresults>true</subresults>
  260. <responseData>false</responseData>
  261. <samplerData>false</samplerData>
  262. <xml>false</xml>
  263. <fieldNames>true</fieldNames>
  264. <responseHeaders>false</responseHeaders>
  265. <requestHeaders>false</requestHeaders>
  266. <responseDataOnError>false</responseDataOnError>
  267. <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
  268. <assertionsResultsToSave>0</assertionsResultsToSave>
  269. <bytes>true</bytes>
  270. <sentBytes>true</sentBytes>
  271. <url>true</url>
  272. <threadCounts>true</threadCounts>
  273. <idleTime>true</idleTime>
  274. <connectTime>true</connectTime>
  275. </value>
  276. </objProp>
  277. <stringProp name="filename"></stringProp>
  278. </ResultCollector>
  279. <hashTree/>
  280. <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.ThreadsStateOverTimeGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Active Threads Over Time" enabled="true">
  281. <boolProp name="ResultCollector.error_logging">false</boolProp>
  282. <objProp>
  283. <name>saveConfig</name>
  284. <value class="SampleSaveConfiguration">
  285. <time>true</time>
  286. <latency>true</latency>
  287. <timestamp>true</timestamp>
  288. <success>true</success>
  289. <label>true</label>
  290. <code>true</code>
  291. <message>true</message>
  292. <threadName>true</threadName>
  293. <dataType>true</dataType>
  294. <encoding>false</encoding>
  295. <assertions>true</assertions>
  296. <subresults>true</subresults>
  297. <responseData>false</responseData>
  298. <samplerData>false</samplerData>
  299. <xml>false</xml>
  300. <fieldNames>true</fieldNames>
  301. <responseHeaders>false</responseHeaders>
  302. <requestHeaders>false</requestHeaders>
  303. <responseDataOnError>false</responseDataOnError>
  304. <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
  305. <assertionsResultsToSave>0</assertionsResultsToSave>
  306. <bytes>true</bytes>
  307. <sentBytes>true</sentBytes>
  308. <url>true</url>
  309. <threadCounts>true</threadCounts>
  310. <idleTime>true</idleTime>
  311. <connectTime>true</connectTime>
  312. </value>
  313. </objProp>
  314. <stringProp name="filename"></stringProp>
  315. <longProp name="interval_grouping">500</longProp>
  316. <boolProp name="graph_aggregated">false</boolProp>
  317. <stringProp name="include_sample_labels"></stringProp>
  318. <stringProp name="exclude_sample_labels"></stringProp>
  319. <stringProp name="start_offset"></stringProp>
  320. <stringProp name="end_offset"></stringProp>
  321. <boolProp name="include_checkbox_state">false</boolProp>
  322. <boolProp name="exclude_checkbox_state">false</boolProp>
  323. </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
  324. <hashTree/>
  325. <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.ResponseTimesOverTimeGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Response Times Over Time" enabled="true">
  326. <boolProp name="ResultCollector.error_logging">false</boolProp>
  327. <objProp>
  328. <name>saveConfig</name>
  329. <value class="SampleSaveConfiguration">
  330. <time>true</time>
  331. <latency>true</latency>
  332. <timestamp>true</timestamp>
  333. <success>true</success>
  334. <label>true</label>
  335. <code>true</code>
  336. <message>true</message>
  337. <threadName>true</threadName>
  338. <dataType>true</dataType>
  339. <encoding>false</encoding>
  340. <assertions>true</assertions>
  341. <subresults>true</subresults>
  342. <responseData>false</responseData>
  343. <samplerData>false</samplerData>
  344. <xml>false</xml>
  345. <fieldNames>true</fieldNames>
  346. <responseHeaders>false</responseHeaders>
  347. <requestHeaders>false</requestHeaders>
  348. <responseDataOnError>false</responseDataOnError>
  349. <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
  350. <assertionsResultsToSave>0</assertionsResultsToSave>
  351. <bytes>true</bytes>
  352. <sentBytes>true</sentBytes>
  353. <url>true</url>
  354. <threadCounts>true</threadCounts>
  355. <idleTime>true</idleTime>
  356. <connectTime>true</connectTime>
  357. </value>
  358. </objProp>
  359. <stringProp name="filename"></stringProp>
  360. <longProp name="interval_grouping">500</longProp>
  361. <boolProp name="graph_aggregated">false</boolProp>
  362. <stringProp name="include_sample_labels"></stringProp>
  363. <stringProp name="exclude_sample_labels"></stringProp>
  364. <stringProp name="start_offset"></stringProp>
  365. <stringProp name="end_offset"></stringProp>
  366. <boolProp name="include_checkbox_state">false</boolProp>
  367. <boolProp name="exclude_checkbox_state">false</boolProp>
  368. </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
  369. <hashTree/>
  370. <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.TransactionsPerSecondGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Transactions per Second" enabled="true">
  371. <boolProp name="ResultCollector.error_logging">false</boolProp>
  372. <objProp>
  373. <name>saveConfig</name>
  374. <value class="SampleSaveConfiguration">
  375. <time>true</time>
  376. <latency>true</latency>
  377. <timestamp>true</timestamp>
  378. <success>true</success>
  379. <label>true</label>
  380. <code>true</code>
  381. <message>true</message>
  382. <threadName>true</threadName>
  383. <dataType>true</dataType>
  384. <encoding>false</encoding>
  385. <assertions>true</assertions>
  386. <subresults>true</subresults>
  387. <responseData>false</responseData>
  388. <samplerData>false</samplerData>
  389. <xml>false</xml>
  390. <fieldNames>true</fieldNames>
  391. <responseHeaders>false</responseHeaders>
  392. <requestHeaders>false</requestHeaders>
  393. <responseDataOnError>false</responseDataOnError>
  394. <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
  395. <assertionsResultsToSave>0</assertionsResultsToSave>
  396. <bytes>true</bytes>
  397. <sentBytes>true</sentBytes>
  398. <url>true</url>
  399. <threadCounts>true</threadCounts>
  400. <idleTime>true</idleTime>
  401. <connectTime>true</connectTime>
  402. </value>
  403. </objProp>
  404. <stringProp name="filename"></stringProp>
  405. <longProp name="interval_grouping">1000</longProp>
  406. <boolProp name="graph_aggregated">false</boolProp>
  407. <stringProp name="include_sample_labels"></stringProp>
  408. <stringProp name="exclude_sample_labels"></stringProp>
  409. <stringProp name="start_offset"></stringProp>
  410. <stringProp name="end_offset"></stringProp>
  411. <boolProp name="include_checkbox_state">false</boolProp>
  412. <boolProp name="exclude_checkbox_state">false</boolProp>
  413. </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
  414. <hashTree/>
  415. <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true">
  416. <collectionProp name="HeaderManager.headers">
  417. <elementProp name="" elementType="Header">
  418. <stringProp name="Header.name">whId</stringProp>
  419. <stringProp name="Header.value">${wh_id}</stringProp>
  420. </elementProp>
  421. <elementProp name="" elementType="Header">
  422. <stringProp name="Header.name">systemkey</stringProp>
  423. <stringProp name="Header.value">${system_key}</stringProp>
  424. </elementProp>
  425. </collectionProp>
  426. </HeaderManager>
  427. <hashTree/>
  428. <CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="CSV Data Set Config" enabled="true">
  429. <stringProp name="delimiter">,</stringProp>
  430. <stringProp name="fileEncoding">UTF-8</stringProp>
  431. <stringProp name="filename">./02_顺德WMS@入库之验收提交CSV.csv</stringProp>
  432. <boolProp name="ignoreFirstLine">false</boolProp>
  433. <boolProp name="quotedData">true</boolProp>
  434. <boolProp name="recycle">false</boolProp>
  435. <stringProp name="shareMode">shareMode.group</stringProp>
  436. <boolProp name="stopThread">true</boolProp>
  437. <stringProp name="variableNames">inspect_id</stringProp>
  438. </CSVDataSet>
  439. <hashTree/>
  440. <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Acceptance@queryInspectItem" enabled="true">
  441. <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
  442. <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
  443. <collectionProp name="Arguments.arguments">
  444. <elementProp name="" elementType="HTTPArgument">
  445. <boolProp name="HTTPArgument.always_encode">false</boolProp>
  446. <stringProp name="Argument.value">{&#xd;
  447. &quot;args&quot;: [&#xd;
  448. {&#xd;
  449. &quot;path&quot;: &quot;/com/galaxis/wms/inbound/acceptance/Acceptance&quot;,&#xd;
  450. &quot;pagination&quot;: true,&#xd;
  451. &quot;sqlId&quot;: &quot;tab1_grid2QueryData&quot;,&#xd;
  452. &quot;limit&quot;: 1000,&#xd;
  453. &quot;page&quot;: 1,&#xd;
  454. &quot;start&quot;: 0,&#xd;
  455. &quot;inspect_id&quot;: &quot;${inspect_id}&quot;,&#xd;
  456. &quot;condition&quot;: []&#xd;
  457. }&#xd;
  458. ]&#xd;
  459. }</stringProp>
  460. <stringProp name="Argument.metadata">=</stringProp>
  461. </elementProp>
  462. </collectionProp>
  463. </elementProp>
  464. <stringProp name="HTTPSampler.domain">${server}</stringProp>
  465. <stringProp name="HTTPSampler.port">${port}</stringProp>
  466. <stringProp name="HTTPSampler.protocol"></stringProp>
  467. <stringProp name="HTTPSampler.contentEncoding">UTF-8</stringProp>
  468. <stringProp name="HTTPSampler.path">/api/com/galaxis/wms/Dev@executeSQL?path=/com/galaxis/wms/inbound/acceptance/Acceptance@tab1_grid2QueryData</stringProp>
  469. <stringProp name="HTTPSampler.method">POST</stringProp>
  470. <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
  471. <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
  472. <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
  473. <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
  474. <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
  475. <stringProp name="HTTPSampler.implementation">HttpClient4</stringProp>
  476. <stringProp name="HTTPSampler.connect_timeout">1500</stringProp>
  477. <stringProp name="HTTPSampler.response_timeout">15000</stringProp>
  478. </HTTPSamplerProxy>
  479. <hashTree>
  480. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="success" enabled="true">
  481. <stringProp name="JSON_PATH">$.success</stringProp>
  482. <stringProp name="EXPECTED_VALUE">true</stringProp>
  483. <boolProp name="JSONVALIDATION">true</boolProp>
  484. <boolProp name="EXPECT_NULL">false</boolProp>
  485. <boolProp name="INVERT">false</boolProp>
  486. <boolProp name="ISREGEX">false</boolProp>
  487. </JSONPathAssertion>
  488. <hashTree/>
  489. <JSONPostProcessor guiclass="JSONPostProcessorGui" testclass="JSONPostProcessor" testname="Inspect Item Extractor" enabled="true">
  490. <stringProp name="JSONPostProcessor.referenceNames">inspect_item_list</stringProp>
  491. <stringProp name="JSONPostProcessor.jsonPathExprs">$.data.[*]</stringProp>
  492. <stringProp name="JSONPostProcessor.match_numbers">-1</stringProp>
  493. </JSONPostProcessor>
  494. <hashTree/>
  495. </hashTree>
  496. <ForeachController guiclass="ForeachControlPanel" testclass="ForeachController" testname="Acceptance ForEach" enabled="true">
  497. <stringProp name="ForeachController.inputVal">inspect_item_list</stringProp>
  498. <stringProp name="ForeachController.returnVal">inspect_item</stringProp>
  499. <boolProp name="ForeachController.useSeparator">true</boolProp>
  500. <stringProp name="ForeachController.startIndex">0</stringProp>
  501. <stringProp name="ForeachController.endIndex">${inspect_item_list_matchNr}</stringProp>
  502. </ForeachController>
  503. <hashTree>
  504. <BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="QueryPutIntent Param Sampler" enabled="true">
  505. <stringProp name="BeanShellSampler.query">import java.math.BigDecimal;
  506. import java.math.RoundingMode;
  507. com.JMeterUtil util = com.Yvan.init(vars, log, ctx);
  508. Map inspectItem = util.parseJson(vars.get(&quot;inspect_item&quot;), Map.class);
  509. // 质检数量
  510. BigDecimal qty = new BigDecimal(inspectItem.get(&quot;qty&quot;));
  511. // 已质检数量
  512. BigDecimal inspectQty = new BigDecimal(inspectItem.get(&quot;inspect_qty&quot;));
  513. // 已拒收数量
  514. BigDecimal receiptQty = new BigDecimal(inspectItem.get(&quot;reject_qty&quot;));
  515. // 需质检数量 = 质检数量 - 已质检数量 - 已拒收数量
  516. BigDecimal qualityQty = qty.subtract(inspectQty).subtract(receiptQty);
  517. // 包装数量
  518. BigDecimal packMeas = new BigDecimal(String.valueOf(inspectItem.get(&quot;pack_meas&quot;)));
  519. // 质检整件数
  520. BigDecimal qualityWholeQty = qualityQty.divide(packMeas, 0, RoundingMode.FLOOR);
  521. // 质检零散数
  522. BigDecimal qualityLessQty = qualityQty.subtract(qualityWholeQty.multiply(packMeas));
  523. vars.put(&quot;qualityWholeQty&quot;, qualityWholeQty.toString());
  524. vars.put(&quot;qualityLessQty&quot;, qualityLessQty.toString());
  525. //inspectItem.put(&quot;quality_less_qty&quot;, qualityLessQty.toString());
  526. //inspectItem.put(&quot;quality_whole_qty&quot;, qualityWholeQty.toString());
  527. //inspectItem.put(&quot;quality_qty&quot;, qualityQty.toString());
  528. //inspectItem.put(&quot;put_intent_less&quot;, &quot;0001&quot;);
  529. //inspectItem.put(&quot;put_intent_whole&quot;, &quot;0001&quot;);
  530. //inspectItem.put(&quot;quality_assert&quot;, &quot;0001&quot;);
  531. //inspectItem.put(&quot;quality_staff_id1&quot;, &quot;315072813507543045&quot;);
  532. Map saveInspectParam = new HashMap();
  533. //saveInspectParam.put(&quot;inspect_id&quot;, String.valueOf(inspectItem.get(&quot;inspect_id&quot;)));
  534. //saveInspectParam.put(&quot;inspect_line_nos&quot;, String.valueOf(inspectItem.get(&quot;inspect_line_nos&quot;)));
  535. saveInspectParam.put(&quot;item_id&quot;, String.valueOf(inspectItem.get(&quot;item_id&quot;)));
  536. saveInspectParam.put(&quot;pack_id&quot;, String.valueOf(inspectItem.get(&quot;pack_id&quot;)));
  537. saveInspectParam.put(&quot;lot_id&quot;, String.valueOf(inspectItem.get(&quot;lot_id&quot;)));
  538. saveInspectParam.put(&quot;quality_reject_qty&quot;, &quot;0&quot;);
  539. saveInspectParam.put(&quot;order_biz_type&quot;, &quot;C&quot;);
  540. //saveInspectParam.put(&quot;order_type&quot;, String.valueOf(inspectItem.get(&quot;order_type&quot;));
  541. //saveInspectParam.put(&quot;order_biz_type&quot;, String.valueOf(inspectItem.get(&quot;order_biz_type&quot;));
  542. saveInspectParam.put(&quot;quality_less_qty&quot;, qualityLessQty.toString());
  543. saveInspectParam.put(&quot;quality_whole_qty&quot;, qualityWholeQty.toString());
  544. saveInspectParam.put(&quot;quality_qty&quot;, qualityQty.toString());
  545. //saveInspectParam.put(&quot;put_intent_less&quot;, &quot;0001&quot;);
  546. //saveInspectParam.put(&quot;put_intent_whole&quot;, &quot;0001&quot;);
  547. //saveInspectParam.put(&quot;quality_assert&quot;, &quot;0001&quot;);
  548. //saveInspectParam.put(&quot;quality_staff_id1&quot;, &quot;315072813507543045&quot;);
  549. //saveInspectParam.put(&quot;quality_staff_id1&quot;, vars.get(&quot;staff_id&quot;));
  550. vars.put(&quot;queryPutIntentParam&quot;, util.toJson(saveInspectParam));</stringProp>
  551. <stringProp name="BeanShellSampler.filename"></stringProp>
  552. <stringProp name="BeanShellSampler.parameters"></stringProp>
  553. <boolProp name="BeanShellSampler.resetInterpreter">false</boolProp>
  554. </BeanShellSampler>
  555. <hashTree/>
  556. <IfController guiclass="IfControllerPanel" testclass="IfController" testname="Has Less Quality Qty Controller" enabled="true">
  557. <stringProp name="IfController.condition">${__jexl3(${qualityLessQty} &gt; 0)}</stringProp>
  558. <boolProp name="IfController.evaluateAll">false</boolProp>
  559. <boolProp name="IfController.useExpression">true</boolProp>
  560. </IfController>
  561. <hashTree>
  562. <BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="QueryPutIntent Param Sampler" enabled="true">
  563. <stringProp name="BeanShellSampler.query">import java.math.BigDecimal;
  564. import java.math.RoundingMode;
  565. com.JMeterUtil util = com.Yvan.init(vars, log, ctx);
  566. Map inspectItem = util.parseJson(vars.get(&quot;inspect_item&quot;), Map.class);
  567. // 质检数量
  568. BigDecimal qty = new BigDecimal(inspectItem.get(&quot;qty&quot;));
  569. // 已质检数量
  570. BigDecimal inspectQty = new BigDecimal(inspectItem.get(&quot;inspect_qty&quot;));
  571. // 已拒收数量
  572. BigDecimal receiptQty = new BigDecimal(inspectItem.get(&quot;reject_qty&quot;));
  573. // 需质检数量 = 质检数量 - 已质检数量 - 已拒收数量
  574. BigDecimal qualityQty = qty.subtract(inspectQty).subtract(receiptQty);
  575. // 包装数量
  576. BigDecimal packMeas = new BigDecimal(String.valueOf(inspectItem.get(&quot;pack_meas&quot;)));
  577. // 质检整件数
  578. BigDecimal qualityWholeQty = qualityQty.divide(packMeas, 0, RoundingMode.FLOOR);
  579. // 质检零散数
  580. BigDecimal qualityLessQty = qualityQty.subtract(qualityWholeQty.multiply(packMeas));
  581. //inspectItem.put(&quot;quality_less_qty&quot;, qualityLessQty.toString());
  582. //inspectItem.put(&quot;quality_whole_qty&quot;, qualityWholeQty.toString());
  583. //inspectItem.put(&quot;quality_qty&quot;, qualityQty.toString());
  584. //inspectItem.put(&quot;put_intent_less&quot;, &quot;0001&quot;);
  585. //inspectItem.put(&quot;put_intent_whole&quot;, &quot;0001&quot;);
  586. //inspectItem.put(&quot;quality_assert&quot;, &quot;0001&quot;);
  587. //inspectItem.put(&quot;quality_staff_id1&quot;, &quot;315072813507543045&quot;);
  588. Map saveInspectParam = new HashMap();
  589. //saveInspectParam.put(&quot;inspect_id&quot;, String.valueOf(inspectItem.get(&quot;inspect_id&quot;)));
  590. //saveInspectParam.put(&quot;inspect_line_nos&quot;, String.valueOf(inspectItem.get(&quot;inspect_line_nos&quot;)));
  591. saveInspectParam.put(&quot;item_id&quot;, String.valueOf(inspectItem.get(&quot;item_id&quot;)));
  592. saveInspectParam.put(&quot;pack_id&quot;, String.valueOf(inspectItem.get(&quot;pack_id&quot;)));
  593. saveInspectParam.put(&quot;lot_id&quot;, String.valueOf(inspectItem.get(&quot;lot_id&quot;)));
  594. saveInspectParam.put(&quot;quality_reject_qty&quot;, &quot;0&quot;);
  595. saveInspectParam.put(&quot;order_biz_type&quot;, &quot;C&quot;);
  596. //saveInspectParam.put(&quot;order_type&quot;, String.valueOf(inspectItem.get(&quot;order_type&quot;));
  597. //saveInspectParam.put(&quot;order_biz_type&quot;, String.valueOf(inspectItem.get(&quot;order_biz_type&quot;));
  598. saveInspectParam.put(&quot;quality_less_qty&quot;, qualityLessQty.toString());
  599. saveInspectParam.put(&quot;quality_whole_qty&quot;, &quot;0&quot;);
  600. //saveInspectParam.put(&quot;quality_qty&quot;, qualityQty.toString());
  601. //saveInspectParam.put(&quot;put_intent_less&quot;, &quot;0001&quot;);
  602. //saveInspectParam.put(&quot;put_intent_whole&quot;, &quot;0001&quot;);
  603. //saveInspectParam.put(&quot;quality_assert&quot;, &quot;0001&quot;);
  604. //saveInspectParam.put(&quot;quality_staff_id1&quot;, &quot;315072813507543045&quot;);
  605. //saveInspectParam.put(&quot;quality_staff_id1&quot;, vars.get(&quot;staff_id&quot;));
  606. vars.put(&quot;queryPutIntentParam&quot;, util.toJson(saveInspectParam));</stringProp>
  607. <stringProp name="BeanShellSampler.filename"></stringProp>
  608. <stringProp name="BeanShellSampler.parameters"></stringProp>
  609. <boolProp name="BeanShellSampler.resetInterpreter">false</boolProp>
  610. </BeanShellSampler>
  611. <hashTree/>
  612. <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Less Acceptance@queryPutIntent" enabled="true">
  613. <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
  614. <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
  615. <collectionProp name="Arguments.arguments">
  616. <elementProp name="" elementType="HTTPArgument">
  617. <boolProp name="HTTPArgument.always_encode">false</boolProp>
  618. <stringProp name="Argument.value">{&#xd;
  619. &quot;args&quot;: [&#xd;
  620. {&#xd;
  621. &quot;row_data&quot;: ${queryPutIntentParam}&#xd;
  622. }&#xd;
  623. ]&#xd;
  624. }</stringProp>
  625. <stringProp name="Argument.metadata">=</stringProp>
  626. </elementProp>
  627. </collectionProp>
  628. </elementProp>
  629. <stringProp name="HTTPSampler.domain">${server}</stringProp>
  630. <stringProp name="HTTPSampler.port">${port}</stringProp>
  631. <stringProp name="HTTPSampler.protocol"></stringProp>
  632. <stringProp name="HTTPSampler.contentEncoding">UTF-8</stringProp>
  633. <stringProp name="HTTPSampler.path">/api/com/galaxis/wms/inbound/acceptance/Acceptance@queryPutIntent</stringProp>
  634. <stringProp name="HTTPSampler.method">POST</stringProp>
  635. <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
  636. <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
  637. <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
  638. <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
  639. <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
  640. <stringProp name="HTTPSampler.implementation">HttpClient4</stringProp>
  641. <stringProp name="HTTPSampler.connect_timeout">1500</stringProp>
  642. <stringProp name="HTTPSampler.response_timeout">15000</stringProp>
  643. </HTTPSamplerProxy>
  644. <hashTree>
  645. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="success" enabled="true">
  646. <stringProp name="JSON_PATH">$.success</stringProp>
  647. <stringProp name="EXPECTED_VALUE">true</stringProp>
  648. <boolProp name="JSONVALIDATION">true</boolProp>
  649. <boolProp name="EXPECT_NULL">false</boolProp>
  650. <boolProp name="INVERT">false</boolProp>
  651. <boolProp name="ISREGEX">false</boolProp>
  652. </JSONPathAssertion>
  653. <hashTree/>
  654. <JSONPostProcessor guiclass="JSONPostProcessorGui" testclass="JSONPostProcessor" testname="Less Put Intent Extractor" enabled="true">
  655. <stringProp name="JSONPostProcessor.referenceNames">lessPutIntent</stringProp>
  656. <stringProp name="JSONPostProcessor.jsonPathExprs">$.data</stringProp>
  657. <stringProp name="JSONPostProcessor.match_numbers">1</stringProp>
  658. </JSONPostProcessor>
  659. <hashTree/>
  660. </hashTree>
  661. </hashTree>
  662. <IfController guiclass="IfControllerPanel" testclass="IfController" testname="Has Whole Quality Qty Controller" enabled="true">
  663. <stringProp name="IfController.condition">${__jexl3(${qualityWholeQty} &gt; 0)}</stringProp>
  664. <boolProp name="IfController.evaluateAll">false</boolProp>
  665. <boolProp name="IfController.useExpression">true</boolProp>
  666. </IfController>
  667. <hashTree>
  668. <BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="QueryPutIntent Param Sampler" enabled="true">
  669. <stringProp name="BeanShellSampler.query">import java.math.BigDecimal;
  670. import java.math.RoundingMode;
  671. com.JMeterUtil util = com.Yvan.init(vars, log, ctx);
  672. Map inspectItem = util.parseJson(vars.get(&quot;inspect_item&quot;), Map.class);
  673. // 质检数量
  674. BigDecimal qty = new BigDecimal(inspectItem.get(&quot;qty&quot;));
  675. // 已质检数量
  676. BigDecimal inspectQty = new BigDecimal(inspectItem.get(&quot;inspect_qty&quot;));
  677. // 已拒收数量
  678. BigDecimal receiptQty = new BigDecimal(inspectItem.get(&quot;reject_qty&quot;));
  679. // 需质检数量 = 质检数量 - 已质检数量 - 已拒收数量
  680. BigDecimal qualityQty = qty.subtract(inspectQty).subtract(receiptQty);
  681. // 包装数量
  682. BigDecimal packMeas = new BigDecimal(String.valueOf(inspectItem.get(&quot;pack_meas&quot;)));
  683. // 质检整件数
  684. BigDecimal qualityWholeQty = qualityQty.divide(packMeas, 0, RoundingMode.FLOOR);
  685. // 质检零散数
  686. BigDecimal qualityLessQty = qualityQty.subtract(qualityWholeQty.multiply(packMeas));
  687. //inspectItem.put(&quot;quality_less_qty&quot;, qualityLessQty.toString());
  688. //inspectItem.put(&quot;quality_whole_qty&quot;, qualityWholeQty.toString());
  689. //inspectItem.put(&quot;quality_qty&quot;, qualityQty.toString());
  690. //inspectItem.put(&quot;put_intent_less&quot;, &quot;0001&quot;);
  691. //inspectItem.put(&quot;put_intent_whole&quot;, &quot;0001&quot;);
  692. //inspectItem.put(&quot;quality_assert&quot;, &quot;0001&quot;);
  693. //inspectItem.put(&quot;quality_staff_id1&quot;, &quot;315072813507543045&quot;);
  694. Map saveInspectParam = new HashMap();
  695. //saveInspectParam.put(&quot;inspect_id&quot;, String.valueOf(inspectItem.get(&quot;inspect_id&quot;)));
  696. //saveInspectParam.put(&quot;inspect_line_nos&quot;, String.valueOf(inspectItem.get(&quot;inspect_line_nos&quot;)));
  697. saveInspectParam.put(&quot;item_id&quot;, String.valueOf(inspectItem.get(&quot;item_id&quot;)));
  698. saveInspectParam.put(&quot;pack_id&quot;, String.valueOf(inspectItem.get(&quot;pack_id&quot;)));
  699. saveInspectParam.put(&quot;lot_id&quot;, String.valueOf(inspectItem.get(&quot;lot_id&quot;)));
  700. saveInspectParam.put(&quot;quality_reject_qty&quot;, &quot;0&quot;);
  701. saveInspectParam.put(&quot;order_biz_type&quot;, &quot;C&quot;);
  702. //saveInspectParam.put(&quot;order_type&quot;, String.valueOf(inspectItem.get(&quot;order_type&quot;));
  703. //saveInspectParam.put(&quot;order_biz_type&quot;, String.valueOf(inspectItem.get(&quot;order_biz_type&quot;));
  704. saveInspectParam.put(&quot;quality_less_qty&quot;, &quot;&quot;);
  705. saveInspectParam.put(&quot;quality_whole_qty&quot;, qualityWholeQty.toString());
  706. //saveInspectParam.put(&quot;quality_qty&quot;, qualityQty.toString());
  707. //saveInspectParam.put(&quot;put_intent_less&quot;, &quot;0001&quot;);
  708. //saveInspectParam.put(&quot;put_intent_whole&quot;, &quot;0001&quot;);
  709. //saveInspectParam.put(&quot;quality_assert&quot;, &quot;0001&quot;);
  710. //saveInspectParam.put(&quot;quality_staff_id1&quot;, &quot;315072813507543045&quot;);
  711. //saveInspectParam.put(&quot;quality_staff_id1&quot;, vars.get(&quot;staff_id&quot;));
  712. vars.put(&quot;queryPutIntentParam&quot;, util.toJson(saveInspectParam));</stringProp>
  713. <stringProp name="BeanShellSampler.filename"></stringProp>
  714. <stringProp name="BeanShellSampler.parameters"></stringProp>
  715. <boolProp name="BeanShellSampler.resetInterpreter">false</boolProp>
  716. </BeanShellSampler>
  717. <hashTree/>
  718. <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Whole Acceptance@queryPutIntent" enabled="true">
  719. <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
  720. <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
  721. <collectionProp name="Arguments.arguments">
  722. <elementProp name="" elementType="HTTPArgument">
  723. <boolProp name="HTTPArgument.always_encode">false</boolProp>
  724. <stringProp name="Argument.value">{&#xd;
  725. &quot;args&quot;: [&#xd;
  726. {&#xd;
  727. &quot;row_data&quot;: ${queryPutIntentParam}&#xd;
  728. }&#xd;
  729. ]&#xd;
  730. }</stringProp>
  731. <stringProp name="Argument.metadata">=</stringProp>
  732. </elementProp>
  733. </collectionProp>
  734. </elementProp>
  735. <stringProp name="HTTPSampler.domain">${server}</stringProp>
  736. <stringProp name="HTTPSampler.port">${port}</stringProp>
  737. <stringProp name="HTTPSampler.protocol"></stringProp>
  738. <stringProp name="HTTPSampler.contentEncoding">UTF-8</stringProp>
  739. <stringProp name="HTTPSampler.path">/api/com/galaxis/wms/inbound/acceptance/Acceptance@queryPutIntent</stringProp>
  740. <stringProp name="HTTPSampler.method">POST</stringProp>
  741. <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
  742. <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
  743. <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
  744. <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
  745. <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
  746. <stringProp name="HTTPSampler.implementation">HttpClient4</stringProp>
  747. <stringProp name="HTTPSampler.connect_timeout">1500</stringProp>
  748. <stringProp name="HTTPSampler.response_timeout">15000</stringProp>
  749. </HTTPSamplerProxy>
  750. <hashTree>
  751. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="success" enabled="true">
  752. <stringProp name="JSON_PATH">$.success</stringProp>
  753. <stringProp name="EXPECTED_VALUE">true</stringProp>
  754. <boolProp name="JSONVALIDATION">true</boolProp>
  755. <boolProp name="EXPECT_NULL">false</boolProp>
  756. <boolProp name="INVERT">false</boolProp>
  757. <boolProp name="ISREGEX">false</boolProp>
  758. </JSONPathAssertion>
  759. <hashTree/>
  760. <JSONPostProcessor guiclass="JSONPostProcessorGui" testclass="JSONPostProcessor" testname="Whole Put Intent Extractor" enabled="true">
  761. <stringProp name="JSONPostProcessor.referenceNames">wholePutIntent</stringProp>
  762. <stringProp name="JSONPostProcessor.jsonPathExprs">$.data</stringProp>
  763. <stringProp name="JSONPostProcessor.match_numbers">1</stringProp>
  764. </JSONPostProcessor>
  765. <hashTree/>
  766. </hashTree>
  767. </hashTree>
  768. <BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="Acceptance Param Sampler" enabled="true">
  769. <stringProp name="BeanShellSampler.query">import java.math.BigDecimal;
  770. import java.math.RoundingMode;
  771. com.JMeterUtil util = com.Yvan.init(vars, log, ctx);
  772. Map inspectItem = util.parseJson(vars.get(&quot;inspect_item&quot;), Map.class);
  773. log.info(&quot;inspect_id = &quot; + String.valueOf(inspectItem.get(&quot;inspect_id&quot;)));
  774. // 质检数量
  775. BigDecimal qty = new BigDecimal(inspectItem.get(&quot;qty&quot;));
  776. // 已质检数量
  777. BigDecimal inspectQty = new BigDecimal(inspectItem.get(&quot;inspect_qty&quot;));
  778. // 已拒收数量
  779. BigDecimal receiptQty = new BigDecimal(inspectItem.get(&quot;reject_qty&quot;));
  780. // 需质检数量 = 质检数量 - 已质检数量 - 已拒收数量
  781. BigDecimal qualityQty = qty.subtract(inspectQty).subtract(receiptQty);
  782. // 包装数量
  783. BigDecimal packMeas = new BigDecimal(String.valueOf(inspectItem.get(&quot;pack_meas&quot;)));
  784. // 质检整件数
  785. BigDecimal qualityWholeQty = qualityQty.divide(packMeas, 0, RoundingMode.FLOOR);
  786. // 质检零散数
  787. BigDecimal qualityLessQty = qualityQty.subtract(qualityWholeQty.multiply(packMeas));
  788. //inspectItem.put(&quot;quality_less_qty&quot;, qualityLessQty.toString());
  789. //inspectItem.put(&quot;quality_whole_qty&quot;, qualityWholeQty.toString());
  790. //inspectItem.put(&quot;quality_qty&quot;, qualityQty.toString());
  791. //inspectItem.put(&quot;put_intent_less&quot;, &quot;0001&quot;);
  792. //inspectItem.put(&quot;put_intent_whole&quot;, &quot;0001&quot;);
  793. //inspectItem.put(&quot;quality_assert&quot;, &quot;0001&quot;);
  794. //inspectItem.put(&quot;quality_staff_id1&quot;, &quot;315072813507543045&quot;);
  795. Map saveInspectParam = new HashMap();
  796. saveInspectParam.put(&quot;inspect_id&quot;, String.valueOf(inspectItem.get(&quot;inspect_id&quot;)));
  797. saveInspectParam.put(&quot;inspect_line_nos&quot;, String.valueOf(inspectItem.get(&quot;inspect_line_nos&quot;)));
  798. saveInspectParam.put(&quot;item_id&quot;, String.valueOf(inspectItem.get(&quot;item_id&quot;)));
  799. saveInspectParam.put(&quot;pack_id&quot;, String.valueOf(inspectItem.get(&quot;pack_id&quot;)));
  800. saveInspectParam.put(&quot;lot_id&quot;, String.valueOf(inspectItem.get(&quot;lot_id&quot;)));
  801. saveInspectParam.put(&quot;quality_reject_qty&quot;, &quot;0&quot;);
  802. //saveInspectParam.put(&quot;container_code&quot;, &quot;C&quot;);
  803. //saveInspectParam.put(&quot;is_chinese_medicine&quot;, String.valueOf(inspectItem.get(&quot;is_chinese_medicine&quot;)));
  804. //saveInspectParam.put(&quot;order_type&quot;, String.valueOf(inspectItem.get(&quot;order_type&quot;));
  805. //saveInspectParam.put(&quot;order_biz_type&quot;, String.valueOf(inspectItem.get(&quot;order_biz_type&quot;));
  806. saveInspectParam.put(&quot;quality_less_qty&quot;, qualityLessQty.toString());
  807. saveInspectParam.put(&quot;quality_whole_qty&quot;, qualityWholeQty.toString());
  808. saveInspectParam.put(&quot;quality_qty&quot;, qualityQty.toString());
  809. saveInspectParam.put(&quot;put_intent_less&quot;, vars.get(&quot;lessPutIntent&quot;));
  810. saveInspectParam.put(&quot;put_intent_whole&quot;, vars.get(&quot;wholePutIntent&quot;));
  811. saveInspectParam.put(&quot;quality_assert&quot;, &quot;0001&quot;);
  812. saveInspectParam.put(&quot;quality_staff_id1&quot;, &quot;315072813507543045&quot;);
  813. //saveInspectParam.put(&quot;quality_staff_id1&quot;, vars.get(&quot;staff_id&quot;));
  814. vars.put(&quot;saveInspectParam&quot;, util.toJson(saveInspectParam));
  815. </stringProp>
  816. <stringProp name="BeanShellSampler.filename"></stringProp>
  817. <stringProp name="BeanShellSampler.parameters"></stringProp>
  818. <boolProp name="BeanShellSampler.resetInterpreter">false</boolProp>
  819. </BeanShellSampler>
  820. <hashTree/>
  821. <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Acceptance@inspectSave" enabled="true">
  822. <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
  823. <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
  824. <collectionProp name="Arguments.arguments">
  825. <elementProp name="" elementType="HTTPArgument">
  826. <boolProp name="HTTPArgument.always_encode">false</boolProp>
  827. <stringProp name="Argument.value">{&#xd;
  828. &quot;args&quot;: [&#xd;
  829. {&#xd;
  830. &quot;form_data&quot;: ${saveInspectParam}&#xd;
  831. }&#xd;
  832. ]&#xd;
  833. }</stringProp>
  834. <stringProp name="Argument.metadata">=</stringProp>
  835. </elementProp>
  836. </collectionProp>
  837. </elementProp>
  838. <stringProp name="HTTPSampler.domain">${server}</stringProp>
  839. <stringProp name="HTTPSampler.port">${port}</stringProp>
  840. <stringProp name="HTTPSampler.protocol"></stringProp>
  841. <stringProp name="HTTPSampler.contentEncoding">UTF-8</stringProp>
  842. <stringProp name="HTTPSampler.path">api/com/galaxis/wms/inbound/acceptance/Acceptance@inspectSave</stringProp>
  843. <stringProp name="HTTPSampler.method">POST</stringProp>
  844. <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
  845. <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
  846. <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
  847. <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
  848. <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
  849. <stringProp name="HTTPSampler.implementation">HttpClient4</stringProp>
  850. <stringProp name="HTTPSampler.connect_timeout">1500</stringProp>
  851. <stringProp name="HTTPSampler.response_timeout">15000</stringProp>
  852. </HTTPSamplerProxy>
  853. <hashTree>
  854. <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="success" enabled="true">
  855. <stringProp name="JSON_PATH">$.success</stringProp>
  856. <stringProp name="EXPECTED_VALUE">true</stringProp>
  857. <boolProp name="JSONVALIDATION">true</boolProp>
  858. <boolProp name="EXPECT_NULL">false</boolProp>
  859. <boolProp name="INVERT">false</boolProp>
  860. <boolProp name="ISREGEX">false</boolProp>
  861. </JSONPathAssertion>
  862. <hashTree/>
  863. </hashTree>
  864. </hashTree>
  865. </hashTree>
  866. </hashTree>
  867. </hashTree>
  868. </jmeterTestPlan>