1121 lines
68 KiB
XML
1121 lines
68 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.6.3">
|
|
<hashTree>
|
|
<TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="全场景云客服平台">
|
|
<elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="用户定义的变量">
|
|
<collectionProp name="Arguments.arguments"/>
|
|
</elementProp>
|
|
<boolProp name="TestPlan.functional_mode">false</boolProp>
|
|
<boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
|
|
</TestPlan>
|
|
<hashTree>
|
|
<Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="用户定义的变量">
|
|
<collectionProp name="Arguments.arguments">
|
|
<elementProp name="BASE_URL_1" elementType="Argument">
|
|
<stringProp name="Argument.name">BASE_URL_1</stringProp>
|
|
<stringProp name="Argument.value">127.0.0.1</stringProp>
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
|
</elementProp>
|
|
</collectionProp>
|
|
</Arguments>
|
|
<hashTree/>
|
|
<ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP请求默认值" enabled="true">
|
|
<intProp name="HTTPSampler.connect_timeout">60000</intProp>
|
|
<intProp name="HTTPSampler.response_timeout">60000</intProp>
|
|
<stringProp name="HTTPSampler.domain">${BASE_URL_1}</stringProp>
|
|
<stringProp name="HTTPSampler.port">9003</stringProp>
|
|
<stringProp name="HTTPSampler.protocol">http</stringProp>
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="用户定义的变量">
|
|
<collectionProp name="Arguments.arguments"/>
|
|
</elementProp>
|
|
<stringProp name="HTTPSampler.implementation">HttpClient4</stringProp>
|
|
</ConfigTestElement>
|
|
<hashTree/>
|
|
<CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="HTTP Cookie管理器" enabled="true">
|
|
<collectionProp name="CookieManager.cookies"/>
|
|
<boolProp name="CookieManager.clearEachIteration">false</boolProp>
|
|
<boolProp name="CookieManager.controlledByThreadGroup">false</boolProp>
|
|
</CookieManager>
|
|
<hashTree/>
|
|
<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
|
|
<collectionProp name="HeaderManager.headers">
|
|
<elementProp name="sec-ch-ua" elementType="Header">
|
|
<stringProp name="Header.name">sec-ch-ua</stringProp>
|
|
<stringProp name="Header.value">"Google Chrome";v="143", "Chromium";v="143", "Not A(Brand";v="24"</stringProp>
|
|
</elementProp>
|
|
<elementProp name="sec-ch-ua-mobile" elementType="Header">
|
|
<stringProp name="Header.name">sec-ch-ua-mobile</stringProp>
|
|
<stringProp name="Header.value">?0</stringProp>
|
|
</elementProp>
|
|
<elementProp name="sec-ch-ua-platform" elementType="Header">
|
|
<stringProp name="Header.name">sec-ch-ua-platform</stringProp>
|
|
<stringProp name="Header.value">"Windows"</stringProp>
|
|
</elementProp>
|
|
<elementProp name="User-Agent" elementType="Header">
|
|
<stringProp name="Header.name">User-Agent</stringProp>
|
|
<stringProp name="Header.value">Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36</stringProp>
|
|
</elementProp>
|
|
</collectionProp>
|
|
</HeaderManager>
|
|
<hashTree/>
|
|
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="1管理后台用户登录">
|
|
<intProp name="ThreadGroup.num_threads">3</intProp>
|
|
<intProp name="ThreadGroup.ramp_time">1</intProp>
|
|
<boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
|
|
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
|
|
<elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器">
|
|
<stringProp name="LoopController.loops">3</stringProp>
|
|
<boolProp name="LoopController.continue_forever">false</boolProp>
|
|
</elementProp>
|
|
</ThreadGroup>
|
|
<hashTree>
|
|
<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
|
|
<collectionProp name="HeaderManager.headers">
|
|
<elementProp name="sec-ch-ua" elementType="Header">
|
|
<stringProp name="Header.name">sec-ch-ua</stringProp>
|
|
<stringProp name="Header.value">"Google Chrome";v="143", "Chromium";v="143", "Not A(Brand";v="24"</stringProp>
|
|
</elementProp>
|
|
<elementProp name="sec-ch-ua-mobile" elementType="Header">
|
|
<stringProp name="Header.name">sec-ch-ua-mobile</stringProp>
|
|
<stringProp name="Header.value">?0</stringProp>
|
|
</elementProp>
|
|
<elementProp name="sec-ch-ua-platform" elementType="Header">
|
|
<stringProp name="Header.name">sec-ch-ua-platform</stringProp>
|
|
<stringProp name="Header.value">"Windows"</stringProp>
|
|
</elementProp>
|
|
<elementProp name="User-Agent" elementType="Header">
|
|
<stringProp name="Header.name">User-Agent</stringProp>
|
|
<stringProp name="Header.value">Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Sec-Fetch-Dest" elementType="Header">
|
|
<stringProp name="Header.name">Sec-Fetch-Dest</stringProp>
|
|
<stringProp name="Header.value">empty</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Sec-Fetch-Site" elementType="Header">
|
|
<stringProp name="Header.name">Sec-Fetch-Site</stringProp>
|
|
<stringProp name="Header.value">same-origin</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Sec-Fetch-Mode" elementType="Header">
|
|
<stringProp name="Header.name">Sec-Fetch-Mode</stringProp>
|
|
<stringProp name="Header.value">cors</stringProp>
|
|
</elementProp>
|
|
</collectionProp>
|
|
</HeaderManager>
|
|
<hashTree/>
|
|
<TransactionController guiclass="TransactionControllerGui" testclass="TransactionController" testname="管理后台用户登录" enabled="true">
|
|
<boolProp name="TransactionController.parent">true</boolProp>
|
|
<boolProp name="TransactionController.includeTimers">false</boolProp>
|
|
</TransactionController>
|
|
<hashTree>
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="login" enabled="true">
|
|
<stringProp name="HTTPSampler.domain">${BASE_URL_1}</stringProp>
|
|
<stringProp name="HTTPSampler.port">9003</stringProp>
|
|
<stringProp name="HTTPSampler.protocol">https</stringProp>
|
|
<stringProp name="HTTPSampler.path">auth/v1/login</stringProp>
|
|
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
|
|
<stringProp name="HTTPSampler.method">POST</stringProp>
|
|
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
|
|
<boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
|
|
<collectionProp name="Arguments.arguments">
|
|
<elementProp name="" elementType="HTTPArgument">
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
|
<stringProp name="Argument.value">{"username":"17376018502@qq.com","passwordHash":"lSbg9V6IbFtGG+77i35/3g==","passwordSalt":"mrII62bzzrrv7goh","captchaUid":"9cb9f3f7-3ace-4174-a8c3-be897b96e29b","captchaCode":"nm6v","deviceUid":"e5f706a5221941f9a5569e3c2df254da","platform":"BYTEDESK","channel":"WEB_ADMIN"}</stringProp>
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
|
</elementProp>
|
|
</collectionProp>
|
|
</elementProp>
|
|
</HTTPSamplerProxy>
|
|
<hashTree>
|
|
<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
|
|
<collectionProp name="HeaderManager.headers">
|
|
<elementProp name="Accept" elementType="Header">
|
|
<stringProp name="Header.name">Accept</stringProp>
|
|
<stringProp name="Header.value">application/json, text/plain, */*</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Content-Type" elementType="Header">
|
|
<stringProp name="Header.name">Content-Type</stringProp>
|
|
<stringProp name="Header.value">application/json</stringProp>
|
|
</elementProp>
|
|
</collectionProp>
|
|
</HeaderManager>
|
|
<hashTree/>
|
|
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="高斯随机定时器" enabled="true">
|
|
<stringProp name="ConstantTimer.delay">300</stringProp>
|
|
<stringProp name="RandomTimer.range">100.0</stringProp>
|
|
</GaussianRandomTimer>
|
|
<hashTree/>
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true">
|
|
<collectionProp name="Asserion.test_strings">
|
|
<stringProp name="-1576185641">"message" : "success",
|
|
"code" : 200,</stringProp>
|
|
</collectionProp>
|
|
<stringProp name="Assertion.custom_message"></stringProp>
|
|
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
|
|
<boolProp name="Assertion.assume_success">false</boolProp>
|
|
<intProp name="Assertion.test_type">16</intProp>
|
|
</ResponseAssertion>
|
|
<hashTree/>
|
|
</hashTree>
|
|
</hashTree>
|
|
<ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="查看结果树" enabled="true">
|
|
<boolProp name="ResultCollector.error_logging">true</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/>
|
|
</hashTree>
|
|
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="2在线用户数" enabled="true">
|
|
<intProp name="ThreadGroup.num_threads">3</intProp>
|
|
<intProp name="ThreadGroup.ramp_time">1</intProp>
|
|
<boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
|
|
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
|
|
<elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器">
|
|
<stringProp name="LoopController.loops">3</stringProp>
|
|
<boolProp name="LoopController.continue_forever">false</boolProp>
|
|
</elementProp>
|
|
</ThreadGroup>
|
|
<hashTree>
|
|
<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP信息头管理器" enabled="true">
|
|
<collectionProp name="HeaderManager.headers"/>
|
|
</HeaderManager>
|
|
<hashTree/>
|
|
<RandomVariableConfig guiclass="TestBeanGUI" testclass="RandomVariableConfig" testname="随机变量" enabled="true">
|
|
<stringProp name="maximumValue">9999999999999</stringProp>
|
|
<stringProp name="minimumValue">0000000000000</stringProp>
|
|
<stringProp name="outputFormat">1800000000000000</stringProp>
|
|
<boolProp name="perThread">false</boolProp>
|
|
<stringProp name="randomSeed"></stringProp>
|
|
<stringProp name="variableName">uuid</stringProp>
|
|
</RandomVariableConfig>
|
|
<hashTree/>
|
|
<OnceOnlyController guiclass="OnceOnlyControllerGui" testclass="OnceOnlyController" testname="仅一次控制器" enabled="true"/>
|
|
<hashTree>
|
|
<TransactionController guiclass="TransactionControllerGui" testclass="TransactionController" testname="建立连接" enabled="true">
|
|
<boolProp name="TransactionController.parent">true</boolProp>
|
|
<boolProp name="TransactionController.includeTimers">false</boolProp>
|
|
</TransactionController>
|
|
<hashTree>
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="chat" enabled="true">
|
|
<stringProp name="HTTPSampler.domain">${BASE_URL_1}</stringProp>
|
|
<stringProp name="HTTPSampler.port">9003</stringProp>
|
|
<stringProp name="HTTPSampler.protocol">https</stringProp>
|
|
<stringProp name="HTTPSampler.path">chat/</stringProp>
|
|
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
|
|
<stringProp name="HTTPSampler.method">GET</stringProp>
|
|
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
|
|
<boolProp name="HTTPSampler.postBodyRaw">false</boolProp>
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="用户定义的变量">
|
|
<collectionProp name="Arguments.arguments">
|
|
<elementProp name="mode" elementType="HTTPArgument">
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
|
<stringProp name="Argument.name">mode</stringProp>
|
|
<stringProp name="Argument.value">system</stringProp>
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
|
</elementProp>
|
|
<elementProp name="uid" elementType="HTTPArgument">
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
|
<stringProp name="Argument.name">uid</stringProp>
|
|
<stringProp name="Argument.value">${uuid}</stringProp>
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
|
</elementProp>
|
|
<elementProp name="backgroundColor" elementType="HTTPArgument">
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
|
<stringProp name="Argument.name">backgroundColor</stringProp>
|
|
<stringProp name="Argument.value">#0066FF</stringProp>
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
|
</elementProp>
|
|
<elementProp name="t" elementType="HTTPArgument">
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
|
<stringProp name="Argument.name">t</stringProp>
|
|
<stringProp name="Argument.value">0</stringProp>
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
|
</elementProp>
|
|
<elementProp name="org" elementType="HTTPArgument">
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
|
<stringProp name="Argument.name">org</stringProp>
|
|
<stringProp name="Argument.value">1807163341144192</stringProp>
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
|
</elementProp>
|
|
<elementProp name="visitorUid" elementType="HTTPArgument">
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
|
<stringProp name="Argument.name">visitorUid</stringProp>
|
|
<stringProp name="Argument.value">${uuid}</stringProp>
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
|
</elementProp>
|
|
<elementProp name="lang" elementType="HTTPArgument">
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
|
<stringProp name="Argument.name">lang</stringProp>
|
|
<stringProp name="Argument.value">zh-cn</stringProp>
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
|
</elementProp>
|
|
<elementProp name="textColor" elementType="HTTPArgument">
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
|
<stringProp name="Argument.name">textColor</stringProp>
|
|
<stringProp name="Argument.value">#ffffff</stringProp>
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
|
</elementProp>
|
|
<elementProp name="sid" elementType="HTTPArgument">
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
|
<stringProp name="Argument.name">sid</stringProp>
|
|
<stringProp name="Argument.value">1807163341144192</stringProp>
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
|
</elementProp>
|
|
</collectionProp>
|
|
</elementProp>
|
|
</HTTPSamplerProxy>
|
|
<hashTree>
|
|
<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
|
|
<collectionProp name="HeaderManager.headers">
|
|
<elementProp name="Upgrade-Insecure-Requests" elementType="Header">
|
|
<stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
|
|
<stringProp name="Header.value">1</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Accept" elementType="Header">
|
|
<stringProp name="Header.name">Accept</stringProp>
|
|
<stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Sec-Fetch-Site" elementType="Header">
|
|
<stringProp name="Header.name">Sec-Fetch-Site</stringProp>
|
|
<stringProp name="Header.value">none</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Sec-Fetch-Mode" elementType="Header">
|
|
<stringProp name="Header.name">Sec-Fetch-Mode</stringProp>
|
|
<stringProp name="Header.value">navigate</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Sec-Fetch-User" elementType="Header">
|
|
<stringProp name="Header.name">Sec-Fetch-User</stringProp>
|
|
<stringProp name="Header.value">?1</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Sec-Fetch-Dest" elementType="Header">
|
|
<stringProp name="Header.name">Sec-Fetch-Dest</stringProp>
|
|
<stringProp name="Header.value">document</stringProp>
|
|
</elementProp>
|
|
</collectionProp>
|
|
</HeaderManager>
|
|
<hashTree/>
|
|
</hashTree>
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="chat/config.json" enabled="true">
|
|
<stringProp name="HTTPSampler.domain">${BASE_URL_1}</stringProp>
|
|
<stringProp name="HTTPSampler.port">9003</stringProp>
|
|
<stringProp name="HTTPSampler.protocol">https</stringProp>
|
|
<stringProp name="HTTPSampler.path">chat/config.json</stringProp>
|
|
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
|
|
<stringProp name="HTTPSampler.method">GET</stringProp>
|
|
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
|
|
<boolProp name="HTTPSampler.postBodyRaw">false</boolProp>
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="用户定义的变量">
|
|
<collectionProp name="Arguments.arguments"/>
|
|
</elementProp>
|
|
</HTTPSamplerProxy>
|
|
<hashTree>
|
|
<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
|
|
<collectionProp name="HeaderManager.headers">
|
|
<elementProp name="Accept" elementType="Header">
|
|
<stringProp name="Header.name">Accept</stringProp>
|
|
<stringProp name="Header.value">application/json, text/plain, */*</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Sec-Fetch-Site" elementType="Header">
|
|
<stringProp name="Header.name">Sec-Fetch-Site</stringProp>
|
|
<stringProp name="Header.value">same-origin</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Sec-Fetch-Mode" elementType="Header">
|
|
<stringProp name="Header.name">Sec-Fetch-Mode</stringProp>
|
|
<stringProp name="Header.value">cors</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Sec-Fetch-Dest" elementType="Header">
|
|
<stringProp name="Header.name">Sec-Fetch-Dest</stringProp>
|
|
<stringProp name="Header.value">empty</stringProp>
|
|
</elementProp>
|
|
</collectionProp>
|
|
</HeaderManager>
|
|
<hashTree/>
|
|
</hashTree>
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="visitor/api/v1/init" enabled="true">
|
|
<stringProp name="HTTPSampler.domain">${BASE_URL_1}</stringProp>
|
|
<stringProp name="HTTPSampler.port">9003</stringProp>
|
|
<stringProp name="HTTPSampler.protocol">https</stringProp>
|
|
<stringProp name="HTTPSampler.contentEncoding">utf-8</stringProp>
|
|
<stringProp name="HTTPSampler.path">visitor/api/v1/init</stringProp>
|
|
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
|
|
<stringProp name="HTTPSampler.method">POST</stringProp>
|
|
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
|
|
<boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
|
|
<collectionProp name="Arguments.arguments">
|
|
<elementProp name="" elementType="HTTPArgument">
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
|
<stringProp name="Argument.value">{"orgUid":"1807163341144192","type":"0","sid":"df_ag_uid","uid":"${uuid}","visitorUid":"${uuid}","nickname":"广西${uuid}","avatar":"https://kf.gxzgt.com:9003/avatars/web.png","mobile":"","email":"","note":"","lang":"zh-cn","browser":"{\"name\":\"Chrome\",\"version\":\"143.0.0.0\",\"major\":\"143\"}","os":"{\"name\":\"Windows\",\"version\":\"10\"}","device":"{}","referrer":"https://kf.gxzgt.com:9003/admin/super/agent","vipLevel":"0","debug":false,"settingsUid":"","loadHistory":false,"extra":"{\"uid\":\"${uuid}\"}","channel":"WEB_VISITOR"}</stringProp>
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
|
</elementProp>
|
|
</collectionProp>
|
|
</elementProp>
|
|
</HTTPSamplerProxy>
|
|
<hashTree>
|
|
<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
|
|
<collectionProp name="HeaderManager.headers">
|
|
<elementProp name="Accept" elementType="Header">
|
|
<stringProp name="Header.name">Accept</stringProp>
|
|
<stringProp name="Header.value">application/json, text/plain, */*</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Content-Type" elementType="Header">
|
|
<stringProp name="Header.name">Content-Type</stringProp>
|
|
<stringProp name="Header.value">application/json</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Sec-Fetch-Site" elementType="Header">
|
|
<stringProp name="Header.name">Sec-Fetch-Site</stringProp>
|
|
<stringProp name="Header.value">same-origin</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Sec-Fetch-Mode" elementType="Header">
|
|
<stringProp name="Header.name">Sec-Fetch-Mode</stringProp>
|
|
<stringProp name="Header.value">cors</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Sec-Fetch-Dest" elementType="Header">
|
|
<stringProp name="Header.name">Sec-Fetch-Dest</stringProp>
|
|
<stringProp name="Header.value">empty</stringProp>
|
|
</elementProp>
|
|
</collectionProp>
|
|
</HeaderManager>
|
|
<hashTree/>
|
|
</hashTree>
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="config/bytedesk/properties" enabled="true">
|
|
<stringProp name="HTTPSampler.domain">${BASE_URL_1}</stringProp>
|
|
<stringProp name="HTTPSampler.port">9003</stringProp>
|
|
<stringProp name="HTTPSampler.protocol">https</stringProp>
|
|
<stringProp name="HTTPSampler.path">config/bytedesk/properties</stringProp>
|
|
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
|
|
<stringProp name="HTTPSampler.method">GET</stringProp>
|
|
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
|
|
<boolProp name="HTTPSampler.postBodyRaw">false</boolProp>
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="用户定义的变量">
|
|
<collectionProp name="Arguments.arguments">
|
|
<elementProp name="channel" elementType="HTTPArgument">
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
|
<stringProp name="Argument.name">channel</stringProp>
|
|
<stringProp name="Argument.value">WEB_VISITOR</stringProp>
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
|
</elementProp>
|
|
</collectionProp>
|
|
</elementProp>
|
|
</HTTPSamplerProxy>
|
|
<hashTree>
|
|
<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
|
|
<collectionProp name="HeaderManager.headers">
|
|
<elementProp name="Accept" elementType="Header">
|
|
<stringProp name="Header.name">Accept</stringProp>
|
|
<stringProp name="Header.value">application/json, text/plain, */*</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Sec-Fetch-Site" elementType="Header">
|
|
<stringProp name="Header.name">Sec-Fetch-Site</stringProp>
|
|
<stringProp name="Header.value">same-origin</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Sec-Fetch-Mode" elementType="Header">
|
|
<stringProp name="Header.name">Sec-Fetch-Mode</stringProp>
|
|
<stringProp name="Header.value">cors</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Sec-Fetch-Dest" elementType="Header">
|
|
<stringProp name="Header.name">Sec-Fetch-Dest</stringProp>
|
|
<stringProp name="Header.value">empty</stringProp>
|
|
</elementProp>
|
|
</collectionProp>
|
|
</HeaderManager>
|
|
<hashTree/>
|
|
</hashTree>
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="visitor/api/v1/thread" enabled="true">
|
|
<stringProp name="HTTPSampler.domain">${BASE_URL_1}</stringProp>
|
|
<stringProp name="HTTPSampler.port">9003</stringProp>
|
|
<stringProp name="HTTPSampler.protocol">https</stringProp>
|
|
<stringProp name="HTTPSampler.path">visitor/api/v1/thread</stringProp>
|
|
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
|
|
<stringProp name="HTTPSampler.method">POST</stringProp>
|
|
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
|
|
<boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
|
|
<collectionProp name="Arguments.arguments">
|
|
<elementProp name="" elementType="HTTPArgument">
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
|
<stringProp name="Argument.value">{"orgUid":"1807163341144192","type":"0","sid":"1807163341144192","uid":"${uuid}","nickname":"广西${uuid}","avatar":"https://kf.gxzgt.com:9003/avatars/web.png","lang":"zh-cn","vipLevel":"0","debug":false,"settingsUid":"","referrer":"https://kf.gxzgt.com:9003/admin/super/agent","forceAgent":false,"channel":"WEB_VISITOR"}</stringProp>
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
|
</elementProp>
|
|
</collectionProp>
|
|
</elementProp>
|
|
</HTTPSamplerProxy>
|
|
<hashTree>
|
|
<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
|
|
<collectionProp name="HeaderManager.headers">
|
|
<elementProp name="Accept" elementType="Header">
|
|
<stringProp name="Header.name">Accept</stringProp>
|
|
<stringProp name="Header.value">application/json, text/plain, */*</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Content-Type" elementType="Header">
|
|
<stringProp name="Header.name">Content-Type</stringProp>
|
|
<stringProp name="Header.value">application/json</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Sec-Fetch-Site" elementType="Header">
|
|
<stringProp name="Header.name">Sec-Fetch-Site</stringProp>
|
|
<stringProp name="Header.value">same-origin</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Sec-Fetch-Mode" elementType="Header">
|
|
<stringProp name="Header.name">Sec-Fetch-Mode</stringProp>
|
|
<stringProp name="Header.value">cors</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Sec-Fetch-Dest" elementType="Header">
|
|
<stringProp name="Header.name">Sec-Fetch-Dest</stringProp>
|
|
<stringProp name="Header.value">empty</stringProp>
|
|
</elementProp>
|
|
</collectionProp>
|
|
</HeaderManager>
|
|
<hashTree/>
|
|
<JSONPostProcessor guiclass="JSONPostProcessorGui" testclass="JSONPostProcessor" testname="JSON提取器" enabled="false">
|
|
<stringProp name="JSONPostProcessor.referenceNames">uid</stringProp>
|
|
<stringProp name="JSONPostProcessor.jsonPathExprs">$.data.uid</stringProp>
|
|
<stringProp name="JSONPostProcessor.match_numbers">0</stringProp>
|
|
<stringProp name="JSONPostProcessor.defaultValues">null</stringProp>
|
|
<boolProp name="JSONPostProcessor.compute_concat">true</boolProp>
|
|
</JSONPostProcessor>
|
|
<hashTree/>
|
|
</hashTree>
|
|
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="高斯随机定时器" enabled="true">
|
|
<stringProp name="ConstantTimer.delay">300</stringProp>
|
|
<stringProp name="RandomTimer.range">100.0</stringProp>
|
|
</GaussianRandomTimer>
|
|
<hashTree/>
|
|
</hashTree>
|
|
</hashTree>
|
|
<TransactionController guiclass="TransactionControllerGui" testclass="TransactionController" testname="在线用户" enabled="true">
|
|
<boolProp name="TransactionController.parent">true</boolProp>
|
|
<boolProp name="TransactionController.includeTimers">false</boolProp>
|
|
</TransactionController>
|
|
<hashTree>
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="visitor/api/v1/ping" enabled="true">
|
|
<stringProp name="HTTPSampler.domain">${BASE_URL_1}</stringProp>
|
|
<stringProp name="HTTPSampler.port">9003</stringProp>
|
|
<stringProp name="HTTPSampler.protocol">https</stringProp>
|
|
<stringProp name="HTTPSampler.path">visitor/api/v1/ping</stringProp>
|
|
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
|
|
<stringProp name="HTTPSampler.method">GET</stringProp>
|
|
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
|
|
<boolProp name="HTTPSampler.postBodyRaw">false</boolProp>
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="用户定义的变量">
|
|
<collectionProp name="Arguments.arguments">
|
|
<elementProp name="uid" elementType="HTTPArgument">
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
|
<stringProp name="Argument.name">uid</stringProp>
|
|
<stringProp name="Argument.value">${uuid}</stringProp>
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
|
</elementProp>
|
|
<elementProp name="channel" elementType="HTTPArgument">
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
|
<stringProp name="Argument.name">channel</stringProp>
|
|
<stringProp name="Argument.value">WEB_VISITOR</stringProp>
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
|
</elementProp>
|
|
<elementProp name="orgUid" elementType="HTTPArgument">
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
|
<stringProp name="Argument.name">orgUid</stringProp>
|
|
<stringProp name="Argument.value">1807163341144192</stringProp>
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
|
</elementProp>
|
|
</collectionProp>
|
|
</elementProp>
|
|
</HTTPSamplerProxy>
|
|
<hashTree>
|
|
<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
|
|
<collectionProp name="HeaderManager.headers">
|
|
<elementProp name="Accept" elementType="Header">
|
|
<stringProp name="Header.name">Accept</stringProp>
|
|
<stringProp name="Header.value">application/json, text/plain, */*</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Sec-Fetch-Site" elementType="Header">
|
|
<stringProp name="Header.name">Sec-Fetch-Site</stringProp>
|
|
<stringProp name="Header.value">same-origin</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Sec-Fetch-Mode" elementType="Header">
|
|
<stringProp name="Header.name">Sec-Fetch-Mode</stringProp>
|
|
<stringProp name="Header.value">cors</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Sec-Fetch-Dest" elementType="Header">
|
|
<stringProp name="Header.name">Sec-Fetch-Dest</stringProp>
|
|
<stringProp name="Header.value">empty</stringProp>
|
|
</elementProp>
|
|
</collectionProp>
|
|
</HeaderManager>
|
|
<hashTree/>
|
|
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="高斯随机定时器" enabled="true">
|
|
<stringProp name="ConstantTimer.delay">500</stringProp>
|
|
<stringProp name="RandomTimer.range">200.0</stringProp>
|
|
</GaussianRandomTimer>
|
|
<hashTree/>
|
|
</hashTree>
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="visitor/api/v1/thread/message/meta" enabled="false">
|
|
<stringProp name="HTTPSampler.domain">${BASE_URL_1}</stringProp>
|
|
<stringProp name="HTTPSampler.port">9003</stringProp>
|
|
<stringProp name="HTTPSampler.protocol">https</stringProp>
|
|
<stringProp name="HTTPSampler.path">visitor/api/v1/thread/message/meta</stringProp>
|
|
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
|
|
<stringProp name="HTTPSampler.method">POST</stringProp>
|
|
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
|
|
<boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
|
|
<collectionProp name="Arguments.arguments">
|
|
<elementProp name="" elementType="HTTPArgument">
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
|
<stringProp name="Argument.value">{"uid":"${uid}","channel":"WEB_VISITOR"}</stringProp>
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
|
</elementProp>
|
|
</collectionProp>
|
|
</elementProp>
|
|
</HTTPSamplerProxy>
|
|
<hashTree>
|
|
<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
|
|
<collectionProp name="HeaderManager.headers">
|
|
<elementProp name="Accept" elementType="Header">
|
|
<stringProp name="Header.name">Accept</stringProp>
|
|
<stringProp name="Header.value">application/json, text/plain, */*</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Content-Type" elementType="Header">
|
|
<stringProp name="Header.name">Content-Type</stringProp>
|
|
<stringProp name="Header.value">application/json</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Sec-Fetch-Site" elementType="Header">
|
|
<stringProp name="Header.name">Sec-Fetch-Site</stringProp>
|
|
<stringProp name="Header.value">same-origin</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Sec-Fetch-Mode" elementType="Header">
|
|
<stringProp name="Header.name">Sec-Fetch-Mode</stringProp>
|
|
<stringProp name="Header.value">cors</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Sec-Fetch-Dest" elementType="Header">
|
|
<stringProp name="Header.name">Sec-Fetch-Dest</stringProp>
|
|
<stringProp name="Header.value">empty</stringProp>
|
|
</elementProp>
|
|
</collectionProp>
|
|
</HeaderManager>
|
|
<hashTree/>
|
|
</hashTree>
|
|
</hashTree>
|
|
<ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="查看结果树" enabled="true">
|
|
<boolProp name="ResultCollector.error_logging">true</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/>
|
|
<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">
|
|
<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>
|
|
<longProp name="interval_grouping">500</longProp>
|
|
<boolProp name="graph_aggregated">false</boolProp>
|
|
<stringProp name="include_sample_labels"></stringProp>
|
|
<stringProp name="exclude_sample_labels"></stringProp>
|
|
<stringProp name="start_offset"></stringProp>
|
|
<stringProp name="end_offset"></stringProp>
|
|
<boolProp name="include_checkbox_state">false</boolProp>
|
|
<boolProp name="exclude_checkbox_state">false</boolProp>
|
|
</kg.apc.jmeter.vizualizers.CorrectedResultCollector>
|
|
<hashTree/>
|
|
</hashTree>
|
|
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="3客服工作台在线客服数" enabled="true">
|
|
<intProp name="ThreadGroup.num_threads">1</intProp>
|
|
<intProp name="ThreadGroup.ramp_time">1</intProp>
|
|
<boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
|
|
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
|
|
<elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器">
|
|
<stringProp name="LoopController.loops">3</stringProp>
|
|
<boolProp name="LoopController.continue_forever">false</boolProp>
|
|
</elementProp>
|
|
</ThreadGroup>
|
|
<hashTree>
|
|
<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
|
|
<collectionProp name="HeaderManager.headers">
|
|
<elementProp name="sec-ch-ua" elementType="Header">
|
|
<stringProp name="Header.name">sec-ch-ua</stringProp>
|
|
<stringProp name="Header.value">"Google Chrome";v="143", "Chromium";v="143", "Not A(Brand";v="24"</stringProp>
|
|
</elementProp>
|
|
<elementProp name="sec-ch-ua-mobile" elementType="Header">
|
|
<stringProp name="Header.name">sec-ch-ua-mobile</stringProp>
|
|
<stringProp name="Header.value">?0</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Accept" elementType="Header">
|
|
<stringProp name="Header.name">Accept</stringProp>
|
|
<stringProp name="Header.value">application/json, text/plain, */*</stringProp>
|
|
</elementProp>
|
|
<elementProp name="sec-ch-ua-platform" elementType="Header">
|
|
<stringProp name="Header.name">sec-ch-ua-platform</stringProp>
|
|
<stringProp name="Header.value">"Windows"</stringProp>
|
|
</elementProp>
|
|
<elementProp name="User-Agent" elementType="Header">
|
|
<stringProp name="Header.name">User-Agent</stringProp>
|
|
<stringProp name="Header.value">Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Sec-Fetch-Dest" elementType="Header">
|
|
<stringProp name="Header.name">Sec-Fetch-Dest</stringProp>
|
|
<stringProp name="Header.value">empty</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Sec-Fetch-Site" elementType="Header">
|
|
<stringProp name="Header.name">Sec-Fetch-Site</stringProp>
|
|
<stringProp name="Header.value">same-origin</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Sec-Fetch-Mode" elementType="Header">
|
|
<stringProp name="Header.name">Sec-Fetch-Mode</stringProp>
|
|
<stringProp name="Header.value">cors</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Authorization" elementType="Header">
|
|
<stringProp name="Header.name">Authorization</stringProp>
|
|
<stringProp name="Header.value">Bearer ${__P(accessToken,)}</stringProp>
|
|
</elementProp>
|
|
</collectionProp>
|
|
</HeaderManager>
|
|
<hashTree/>
|
|
<OnceOnlyController guiclass="OnceOnlyControllerGui" testclass="OnceOnlyController" testname="仅一次控制器" enabled="true"/>
|
|
<hashTree>
|
|
<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
|
|
<collectionProp name="HeaderManager.headers">
|
|
<elementProp name="sec-ch-ua" elementType="Header">
|
|
<stringProp name="Header.name">sec-ch-ua</stringProp>
|
|
<stringProp name="Header.value">"Google Chrome";v="143", "Chromium";v="143", "Not A(Brand";v="24"</stringProp>
|
|
</elementProp>
|
|
<elementProp name="sec-ch-ua-mobile" elementType="Header">
|
|
<stringProp name="Header.name">sec-ch-ua-mobile</stringProp>
|
|
<stringProp name="Header.value">?0</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Accept" elementType="Header">
|
|
<stringProp name="Header.name">Accept</stringProp>
|
|
<stringProp name="Header.value">application/json, text/plain, */*</stringProp>
|
|
</elementProp>
|
|
<elementProp name="sec-ch-ua-platform" elementType="Header">
|
|
<stringProp name="Header.name">sec-ch-ua-platform</stringProp>
|
|
<stringProp name="Header.value">"Windows"</stringProp>
|
|
</elementProp>
|
|
<elementProp name="User-Agent" elementType="Header">
|
|
<stringProp name="Header.name">User-Agent</stringProp>
|
|
<stringProp name="Header.value">Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Sec-Fetch-Dest" elementType="Header">
|
|
<stringProp name="Header.name">Sec-Fetch-Dest</stringProp>
|
|
<stringProp name="Header.value">empty</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Sec-Fetch-Site" elementType="Header">
|
|
<stringProp name="Header.name">Sec-Fetch-Site</stringProp>
|
|
<stringProp name="Header.value">same-origin</stringProp>
|
|
</elementProp>
|
|
<elementProp name="Sec-Fetch-Mode" elementType="Header">
|
|
<stringProp name="Header.name">Sec-Fetch-Mode</stringProp>
|
|
<stringProp name="Header.value">cors</stringProp>
|
|
</elementProp>
|
|
</collectionProp>
|
|
</HeaderManager>
|
|
<hashTree/>
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="login" enabled="true">
|
|
<stringProp name="HTTPSampler.domain">${BASE_URL_1}</stringProp>
|
|
<stringProp name="HTTPSampler.port">9003</stringProp>
|
|
<stringProp name="HTTPSampler.protocol">https</stringProp>
|
|
<stringProp name="HTTPSampler.path">auth/v1/login</stringProp>
|
|
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
|
|
<stringProp name="HTTPSampler.method">POST</stringProp>
|
|
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
|
|
<boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
|
|
<collectionProp name="Arguments.arguments">
|
|
<elementProp name="" elementType="HTTPArgument">
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
|
<stringProp name="Argument.value">{"username":"17376018502@qq.com","passwordHash":"uritgnFiRSViq9eWgIizDA==","passwordSalt":"TH4k1moc0YyCytG6","captchaUid":"69247c84-e03e-4320-84ab-ef7cef9079e3","captchaCode":"1111","deviceUid":"e5f706a5221941f9a5569e3c2df254da","platform":"BYTEDESK","channel":"WEB"}</stringProp>
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
|
</elementProp>
|
|
</collectionProp>
|
|
</elementProp>
|
|
</HTTPSamplerProxy>
|
|
<hashTree>
|
|
<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
|
|
<collectionProp name="HeaderManager.headers">
|
|
<elementProp name="Content-Type" elementType="Header">
|
|
<stringProp name="Header.name">Content-Type</stringProp>
|
|
<stringProp name="Header.value">application/json</stringProp>
|
|
</elementProp>
|
|
</collectionProp>
|
|
</HeaderManager>
|
|
<hashTree/>
|
|
<JSONPostProcessor guiclass="JSONPostProcessorGui" testclass="JSONPostProcessor" testname="JSON提取器" enabled="true">
|
|
<stringProp name="JSONPostProcessor.referenceNames">accessToken</stringProp>
|
|
<stringProp name="JSONPostProcessor.jsonPathExprs">$.data.accessToken</stringProp>
|
|
<stringProp name="JSONPostProcessor.match_numbers">0</stringProp>
|
|
<stringProp name="JSONPostProcessor.defaultValues">null</stringProp>
|
|
<boolProp name="JSONPostProcessor.compute_concat">true</boolProp>
|
|
</JSONPostProcessor>
|
|
<hashTree/>
|
|
<BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell 后置处理程序" enabled="true">
|
|
<stringProp name="filename"></stringProp>
|
|
<stringProp name="parameters"></stringProp>
|
|
<boolProp name="resetInterpreter">false</boolProp>
|
|
<stringProp name="script">${__setProperty(accessToken,${accessToken},)}</stringProp>
|
|
</BeanShellPostProcessor>
|
|
<hashTree/>
|
|
</hashTree>
|
|
</hashTree>
|
|
<TransactionController guiclass="TransactionControllerGui" testclass="TransactionController" testname="在线客服" enabled="true">
|
|
<boolProp name="TransactionController.parent">true</boolProp>
|
|
<boolProp name="TransactionController.includeTimers">false</boolProp>
|
|
</TransactionController>
|
|
<hashTree>
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="api/v1/connection/presence" enabled="true">
|
|
<stringProp name="HTTPSampler.domain">${BASE_URL_1}</stringProp>
|
|
<stringProp name="HTTPSampler.port">9003</stringProp>
|
|
<stringProp name="HTTPSampler.protocol">https</stringProp>
|
|
<stringProp name="HTTPSampler.path">api/v1/connection/presence/1807162972045441</stringProp>
|
|
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
|
|
<stringProp name="HTTPSampler.method">GET</stringProp>
|
|
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
|
|
<boolProp name="HTTPSampler.postBodyRaw">false</boolProp>
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="用户定义的变量">
|
|
<collectionProp name="Arguments.arguments"/>
|
|
</elementProp>
|
|
</HTTPSamplerProxy>
|
|
<hashTree>
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true">
|
|
<collectionProp name="Asserion.test_strings">
|
|
<stringProp name="-1037289225"> "message" : "success",
|
|
"code" : 200,</stringProp>
|
|
</collectionProp>
|
|
<stringProp name="Assertion.custom_message"></stringProp>
|
|
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
|
|
<boolProp name="Assertion.assume_success">false</boolProp>
|
|
<intProp name="Assertion.test_type">16</intProp>
|
|
</ResponseAssertion>
|
|
<hashTree/>
|
|
</hashTree>
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="api/v1/queue/agent/stats" enabled="false">
|
|
<stringProp name="HTTPSampler.domain">${BASE_URL_1}</stringProp>
|
|
<stringProp name="HTTPSampler.port">9003</stringProp>
|
|
<stringProp name="HTTPSampler.protocol">https</stringProp>
|
|
<stringProp name="HTTPSampler.path">api/v1/queue/agent/stats?agentUid=1807163341144192&channel=WEB</stringProp>
|
|
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
|
|
<stringProp name="HTTPSampler.method">GET</stringProp>
|
|
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
|
|
<boolProp name="HTTPSampler.postBodyRaw">false</boolProp>
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="用户定义的变量">
|
|
<collectionProp name="Arguments.arguments"/>
|
|
</elementProp>
|
|
</HTTPSamplerProxy>
|
|
<hashTree>
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true">
|
|
<collectionProp name="Asserion.test_strings">
|
|
<stringProp name="-1037289225"> "message" : "success",
|
|
"code" : 200,</stringProp>
|
|
</collectionProp>
|
|
<stringProp name="Assertion.custom_message"></stringProp>
|
|
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
|
|
<boolProp name="Assertion.assume_success">false</boolProp>
|
|
<intProp name="Assertion.test_type">16</intProp>
|
|
</ResponseAssertion>
|
|
<hashTree/>
|
|
</hashTree>
|
|
<GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="高斯随机定时器" enabled="true">
|
|
<stringProp name="ConstantTimer.delay">300</stringProp>
|
|
<stringProp name="RandomTimer.range">100.0</stringProp>
|
|
</GaussianRandomTimer>
|
|
<hashTree/>
|
|
</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/>
|
|
<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">
|
|
<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>
|
|
<longProp name="interval_grouping">500</longProp>
|
|
<boolProp name="graph_aggregated">false</boolProp>
|
|
<stringProp name="include_sample_labels"></stringProp>
|
|
<stringProp name="exclude_sample_labels"></stringProp>
|
|
<stringProp name="start_offset"></stringProp>
|
|
<stringProp name="end_offset"></stringProp>
|
|
<boolProp name="include_checkbox_state">false</boolProp>
|
|
<boolProp name="exclude_checkbox_state">false</boolProp>
|
|
</kg.apc.jmeter.vizualizers.CorrectedResultCollector>
|
|
<hashTree/>
|
|
</hashTree>
|
|
</hashTree>
|
|
</hashTree>
|
|
</jmeterTestPlan>
|