| <?xml version="1.0" encoding="UTF-8"?> |
| <jmeterTestPlan version="1.2" properties="5.0" jmeter="5.2.1"> |
| <hashTree> |
| <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="充值数据" enabled="true"> |
| <stringProp name="TestPlan.comments"></stringProp> |
| <boolProp name="TestPlan.functional_mode">false</boolProp> |
| <boolProp name="TestPlan.tearDown_on_shutdown">true</boolProp> |
| <boolProp name="TestPlan.serialize_threadgroups">false</boolProp> |
| <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="用户定义的变量" enabled="true"> |
| <collectionProp name="Arguments.arguments"/> |
| </elementProp> |
| <stringProp name="TestPlan.user_define_classpath">D:\虚拟机\ojdbc8.jar</stringProp> |
| </TestPlan> |
| <hashTree> |
| <JDBCDataSource guiclass="TestBeanGUI" testclass="JDBCDataSource" testname="JDBC Connection Configuration" enabled="true"> |
| <stringProp name="dataSource">oracle</stringProp> |
| <stringProp name="poolMax">100</stringProp> |
| <stringProp name="timeout">10000</stringProp> |
| <stringProp name="trimInterval">60000</stringProp> |
| <boolProp name="autocommit">false</boolProp> |
| <stringProp name="transactionIsolation">DEFAULT</stringProp> |
| <stringProp name="initQuery"></stringProp> |
| <boolProp name="keepAlive">true</boolProp> |
| <stringProp name="connectionAge">5000</stringProp> |
| <stringProp name="checkQuery">select 1 from dual</stringProp> |
| <stringProp name="dbUrl">jdbc:mysql://172.16.76.10:16324/jmeter2?allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=GMT&useLocalSessionState=true&maintainTimeStats=false</stringProp> |
| <stringProp name="driver">com.mysql.cj.jdbc.Driver</stringProp> |
| <stringProp name="username">root</stringProp> |
| <stringProp name="password">!QAZ2wsx</stringProp> |
| <boolProp name="preinit">true</boolProp> |
| <stringProp name="connectionProperties"></stringProp> |
| </JDBCDataSource> |
| <hashTree/> |
| <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="线程组" enabled="true"> |
| <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> |
| <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> |
| <boolProp name="LoopController.continue_forever">false</boolProp> |
| <stringProp name="LoopController.loops">5000</stringProp> |
| </elementProp> |
| <stringProp name="ThreadGroup.num_threads">200</stringProp> |
| <stringProp name="ThreadGroup.ramp_time">10</stringProp> |
| <boolProp name="ThreadGroup.scheduler">false</boolProp> |
| <stringProp name="ThreadGroup.duration"></stringProp> |
| <stringProp name="ThreadGroup.delay"></stringProp> |
| <longProp name="ThreadGroup.start_time">1586331161000</longProp> |
| <longProp name="ThreadGroup.end_time">1586331161000</longProp> |
| <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp> |
| </ThreadGroup> |
| <hashTree> |
| <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="察看结果树" enabled="true"> |
| <boolProp name="ResultCollector.error_logging">false</boolProp> |
| <objProp> |
| <name>saveConfig</name> |
| <value class="SampleSaveConfiguration"> |
| <time>true</time> |
| <latency>true</latency> |
| <timestamp>true</timestamp> |
| <success>true</success> |
| <label>true</label> |
| <code>true</code> |
| <message>true</message> |
| <threadName>true</threadName> |
| <dataType>true</dataType> |
| <encoding>false</encoding> |
| <assertions>true</assertions> |
| <subresults>true</subresults> |
| <responseData>false</responseData> |
| <samplerData>false</samplerData> |
| <xml>false</xml> |
| <fieldNames>true</fieldNames> |
| <responseHeaders>false</responseHeaders> |
| <requestHeaders>false</requestHeaders> |
| <responseDataOnError>false</responseDataOnError> |
| <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage> |
| <assertionsResultsToSave>0</assertionsResultsToSave> |
| <bytes>true</bytes> |
| <sentBytes>true</sentBytes> |
| <url>true</url> |
| <threadCounts>true</threadCounts> |
| <idleTime>true</idleTime> |
| <connectTime>true</connectTime> |
| </value> |
| </objProp> |
| <stringProp name="filename"></stringProp> |
| </ResultCollector> |
| <hashTree/> |
| <ResultCollector guiclass="SummaryReport" testclass="ResultCollector" testname="汇总报告" enabled="true"> |
| <boolProp name="ResultCollector.error_logging">false</boolProp> |
| <objProp> |
| <name>saveConfig</name> |
| <value class="SampleSaveConfiguration"> |
| <time>true</time> |
| <latency>true</latency> |
| <timestamp>true</timestamp> |
| <success>true</success> |
| <label>true</label> |
| <code>true</code> |
| <message>true</message> |
| <threadName>true</threadName> |
| <dataType>true</dataType> |
| <encoding>false</encoding> |
| <assertions>true</assertions> |
| <subresults>true</subresults> |
| <responseData>false</responseData> |
| <samplerData>false</samplerData> |
| <xml>false</xml> |
| <fieldNames>true</fieldNames> |
| <responseHeaders>false</responseHeaders> |
| <requestHeaders>false</requestHeaders> |
| <responseDataOnError>false</responseDataOnError> |
| <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage> |
| <assertionsResultsToSave>0</assertionsResultsToSave> |
| <bytes>true</bytes> |
| <sentBytes>true</sentBytes> |
| <url>true</url> |
| <threadCounts>true</threadCounts> |
| <idleTime>true</idleTime> |
| <connectTime>true</connectTime> |
| </value> |
| </objProp> |
| <stringProp name="filename"></stringProp> |
| </ResultCollector> |
| <hashTree/> |
| <TransactionController guiclass="TransactionControllerGui" testclass="TransactionController" testname="Transaction Controller" enabled="true"> |
| <boolProp name="TransactionController.includeTimers">false</boolProp> |
| <boolProp name="TransactionController.parent">false</boolProp> |
| </TransactionController> |
| <hashTree> |
| <CounterConfig guiclass="CounterConfigGui" testclass="CounterConfig" testname="Counter-insert_id" enabled="true"> |
| <stringProp name="CounterConfig.start">1</stringProp> |
| <stringProp name="CounterConfig.end">1000</stringProp> |
| <stringProp name="CounterConfig.incr">1</stringProp> |
| <stringProp name="CounterConfig.name">insert_id</stringProp> |
| <stringProp name="CounterConfig.format"></stringProp> |
| <boolProp name="CounterConfig.per_user">false</boolProp> |
| </CounterConfig> |
| <hashTree/> |
| <CounterConfig guiclass="CounterConfigGui" testclass="CounterConfig" testname="Counter-minus_id" enabled="true"> |
| <stringProp name="CounterConfig.start">2000</stringProp> |
| <stringProp name="CounterConfig.end">4000</stringProp> |
| <stringProp name="CounterConfig.incr">1</stringProp> |
| <stringProp name="CounterConfig.name">minus_id</stringProp> |
| <stringProp name="CounterConfig.format"></stringProp> |
| <boolProp name="CounterConfig.per_user">false</boolProp> |
| </CounterConfig> |
| <hashTree/> |
| <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="JDBC Request-begin" enabled="true"> |
| <stringProp name="dataSource">oracle</stringProp> |
| <stringProp name="queryType">AutoCommit(false)</stringProp> |
| <stringProp name="query"></stringProp> |
| <stringProp name="queryArguments"></stringProp> |
| <stringProp name="queryArgumentsTypes"></stringProp> |
| <stringProp name="variableNames"></stringProp> |
| <stringProp name="resultVariable"></stringProp> |
| <stringProp name="queryTimeout"></stringProp> |
| <stringProp name="resultSetMaxRows"></stringProp> |
| <stringProp name="resultSetHandler">Store as String</stringProp> |
| </JDBCSampler> |
| <hashTree/> |
| <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="JDBC Request add" enabled="true"> |
| <stringProp name="dataSource">oracle</stringProp> |
| <stringProp name="queryType">Prepared Update Statement</stringProp> |
| <stringProp name="query">update txn_proc_result set amount = amount + '${num_jin}' where trade_session = '${insert_id}'</stringProp> |
| <stringProp name="queryArguments"></stringProp> |
| <stringProp name="queryArgumentsTypes"></stringProp> |
| <stringProp name="variableNames"></stringProp> |
| <stringProp name="resultVariable"></stringProp> |
| <stringProp name="queryTimeout"></stringProp> |
| <stringProp name="resultSetHandler">Store as String</stringProp> |
| <stringProp name="resultSetMaxRows"></stringProp> |
| </JDBCSampler> |
| <hashTree> |
| <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor" enabled="true"> |
| <stringProp name="RegexExtractor.useHeaders">false</stringProp> |
| <stringProp name="RegexExtractor.refname">updaterow</stringProp> |
| <stringProp name="RegexExtractor.regex">(.*?)updates</stringProp> |
| <stringProp name="RegexExtractor.template">$1$</stringProp> |
| <stringProp name="RegexExtractor.default">-1</stringProp> |
| <stringProp name="RegexExtractor.match_number">0</stringProp> |
| </RegexExtractor> |
| <hashTree/> |
| </hashTree> |
| <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="JDBC Request minus" enabled="true"> |
| <stringProp name="dataSource">oracle</stringProp> |
| <stringProp name="queryType">Prepared Update Statement</stringProp> |
| <stringProp name="query">update txn_proc_result set amount = amount - '${num_jin}' where trade_session = '${minus_id}'</stringProp> |
| <stringProp name="queryArguments"></stringProp> |
| <stringProp name="queryArgumentsTypes"></stringProp> |
| <stringProp name="variableNames"></stringProp> |
| <stringProp name="resultVariable"></stringProp> |
| <stringProp name="queryTimeout"></stringProp> |
| <stringProp name="resultSetMaxRows"></stringProp> |
| <stringProp name="resultSetHandler">Store as String</stringProp> |
| </JDBCSampler> |
| <hashTree> |
| <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor" enabled="true"> |
| <stringProp name="RegexExtractor.useHeaders">false</stringProp> |
| <stringProp name="RegexExtractor.refname">updaterow1</stringProp> |
| <stringProp name="RegexExtractor.regex">(.*?)updates</stringProp> |
| <stringProp name="RegexExtractor.template">$1$</stringProp> |
| <stringProp name="RegexExtractor.default">-1</stringProp> |
| <stringProp name="RegexExtractor.match_number">0</stringProp> |
| </RegexExtractor> |
| <hashTree/> |
| </hashTree> |
| <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller-success" enabled="true"> |
| <stringProp name="IfController.condition">${__jexl3(${updaterow} =="1" && ${updaterow1} == "1",)}</stringProp> |
| <boolProp name="IfController.evaluateAll">false</boolProp> |
| <boolProp name="IfController.useExpression">true</boolProp> |
| </IfController> |
| <hashTree> |
| <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="JDBC Request-commit" enabled="true"> |
| <stringProp name="dataSource">oracle</stringProp> |
| <stringProp name="queryType">Commit</stringProp> |
| <stringProp name="query"></stringProp> |
| <stringProp name="queryArguments"></stringProp> |
| <stringProp name="queryArgumentsTypes"></stringProp> |
| <stringProp name="variableNames"></stringProp> |
| <stringProp name="resultVariable"></stringProp> |
| <stringProp name="queryTimeout"></stringProp> |
| <stringProp name="resultSetMaxRows"></stringProp> |
| <stringProp name="resultSetHandler">Store as String</stringProp> |
| </JDBCSampler> |
| <hashTree/> |
| </hashTree> |
| <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller-fail" enabled="true"> |
| <stringProp name="IfController.condition">${__jexl3(${updaterow} !="1" || ${updaterow1} != "1",)}</stringProp> |
| <boolProp name="IfController.evaluateAll">false</boolProp> |
| <boolProp name="IfController.useExpression">true</boolProp> |
| </IfController> |
| <hashTree> |
| <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="JDBC Request-rollback" enabled="true"> |
| <stringProp name="dataSource">oracle</stringProp> |
| <stringProp name="queryType">Rollback</stringProp> |
| <stringProp name="query"></stringProp> |
| <stringProp name="queryArguments"></stringProp> |
| <stringProp name="queryArgumentsTypes"></stringProp> |
| <stringProp name="variableNames"></stringProp> |
| <stringProp name="resultVariable"></stringProp> |
| <stringProp name="queryTimeout"></stringProp> |
| <stringProp name="resultSetMaxRows"></stringProp> |
| <stringProp name="resultSetHandler">Store as String</stringProp> |
| </JDBCSampler> |
| <hashTree/> |
| </hashTree> |
| <RandomVariableConfig guiclass="TestBeanGUI" testclass="RandomVariableConfig" testname="随机变量-num-jin" enabled="true"> |
| <stringProp name="maximumValue">15</stringProp> |
| <stringProp name="minimumValue">5</stringProp> |
| <stringProp name="outputFormat"></stringProp> |
| <boolProp name="perThread">false</boolProp> |
| <stringProp name="randomSeed"></stringProp> |
| <stringProp name="variableName">num_jin</stringProp> |
| </RandomVariableConfig> |
| <hashTree/> |
| </hashTree> |
| </hashTree> |
| </hashTree> |
| </hashTree> |
| </jmeterTestPlan> |