2016-11-01 52 views
1

該計劃在GUI模式下運行良好。 它還可以運行在非GUI模式,但不會發送相應的HTTP請求......JMeter 3.0 testplan無法在非GUI模式下工作

這是我如何啓動它(?): SH jmeter.sh -n -t線程test.jmx - 升線程test.csv

當在GUI運行請求是正確的:

GET http://www.bing.com/ 

[no cookies] 

Request Headers: 
Connection: keep-alive 
Host: www.bing.com 
User-Agent: Apache-HttpClient/4.5.2 (Java/1.8.0_73) 

但是,當使用非GUI的模式的請求沒有數據要顯示運行: 無數據顯示

採樣器結果看起來像這樣的:

Thread Name: Thread Group 1-1 
Sample Start: 2016-11-01 15:24:04 CET 
Load time: 141 
Connect Time: 0 
Latency: 141 
Size in bytes: 85790 
Headers size in bytes: 0 
Body size in bytes: 0 
Sample Count: 1 
Error Count: 0 
Data type ("text"|"bin"|""): text 
Response code: 200 
Response message: OK 

響應頭:

SampleResult領域: 的ContentType: DataEncoding:空

任何想法?我難倒...

這裏的測試計劃:

<?xml version="1.0" encoding="UTF-8"?> 
<jmeterTestPlan version="1.2" properties="2.9" jmeter="3.0 r1743807"> 
    <hashTree> 
    <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true"> 
     <stringProp name="TestPlan.comments"></stringProp> 
     <boolProp name="TestPlan.functional_mode">false</boolProp> 
     <boolProp name="TestPlan.serialize_threadgroups">false</boolProp> 
     <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> 
     <collectionProp name="Arguments.arguments"/> 
     </elementProp> 
     <stringProp name="TestPlan.user_define_classpath"></stringProp> 
    </TestPlan> 
    <hashTree> 
     <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Thread Group" enabled="true"> 
     <stringProp name="ThreadGroup.on_sample_error">stoptest</stringProp> 
     <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true"> 
      <boolProp name="LoopController.continue_forever">false</boolProp> 
      <stringProp name="LoopController.loops">1</stringProp> 
     </elementProp> 
     <stringProp name="ThreadGroup.num_threads">1</stringProp> 
     <stringProp name="ThreadGroup.ramp_time">1</stringProp> 
     <longProp name="ThreadGroup.start_time">1478003529000</longProp> 
     <longProp name="ThreadGroup.end_time">1478003529000</longProp> 
     <boolProp name="ThreadGroup.scheduler">false</boolProp> 
     <stringProp name="ThreadGroup.duration"></stringProp> 
     <stringProp name="ThreadGroup.delay"></stringProp> 
     </ThreadGroup> 
     <hashTree> 
     <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="HTTP Request" enabled="true"> 
      <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true"> 
      <collectionProp name="Arguments.arguments"/> 
      </elementProp> 
      <stringProp name="HTTPSampler.domain">www.bing.com</stringProp> 
      <stringProp name="HTTPSampler.port"></stringProp> 
      <stringProp name="HTTPSampler.connect_timeout"></stringProp> 
      <stringProp name="HTTPSampler.response_timeout"></stringProp> 
      <stringProp name="HTTPSampler.protocol"></stringProp> 
      <stringProp name="HTTPSampler.contentEncoding"></stringProp> 
      <stringProp name="HTTPSampler.path"></stringProp> 
      <stringProp name="HTTPSampler.method">GET</stringProp> 
      <boolProp name="HTTPSampler.follow_redirects">true</boolProp> 
      <boolProp name="HTTPSampler.auto_redirects">false</boolProp> 
      <boolProp name="HTTPSampler.use_keepalive">true</boolProp> 
      <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> 
      <boolProp name="HTTPSampler.BROWSER_COMPATIBLE_MULTIPART">true</boolProp> 
      <boolProp name="HTTPSampler.image_parser">true</boolProp> 
      <boolProp name="HTTPSampler.concurrentDwn">true</boolProp> 
      <boolProp name="HTTPSampler.monitor">false</boolProp> 
      <stringProp name="HTTPSampler.embedded_url_re"></stringProp> 
     </HTTPSamplerProxy> 
     <hashTree/> 
     <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" 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> 
       <threadCounts>true</threadCounts> 
       <idleTime>true</idleTime> 
      </value> 
      </objProp> 
      <stringProp name="filename">/Users/jboive/Downloads/apache-jmeter-3.0/bin/thread-test.csv</stringProp> 
     </ResultCollector> 
     <hashTree/> 
     </hashTree> 
    </hashTree> 
    </hashTree> 
</jmeterTestPlan> 

這裏的日誌:

2016/11/01 15:24:31 INFO - jmeter.util.JMeterUtils: Setting Locale to en_US 
2016/11/01 15:24:31 INFO - jmeter.JMeter: Loading user properties from: /Users/jboive/Downloads/apache-jmeter-3.0/bin/user.properties 
2016/11/01 15:24:31 INFO - jmeter.JMeter: Loading system properties from: /Users/jboive/Downloads/apache-jmeter-3.0/bin/system.properties 
2016/11/01 15:24:31 INFO - jmeter.JMeter: Copyright (c) 1998-2016 The Apache Software Foundation 
2016/11/01 15:24:31 INFO - jmeter.JMeter: Version 3.0 r1743807 
2016/11/01 15:24:31 INFO - jmeter.JMeter: java.version=1.8.0_73 
2016/11/01 15:24:31 INFO - jmeter.JMeter: java.vm.name=Java HotSpot(TM) 64-Bit Server VM 
2016/11/01 15:24:31 INFO - jmeter.JMeter: os.name=Mac OS X 
2016/11/01 15:24:31 INFO - jmeter.JMeter: os.arch=x86_64 
2016/11/01 15:24:31 INFO - jmeter.JMeter: os.version=10.12.1 
2016/11/01 15:24:31 INFO - jmeter.JMeter: file.encoding=UTF-8 
2016/11/01 15:24:31 INFO - jmeter.JMeter: Max memory  =514850816 
2016/11/01 15:24:31 INFO - jmeter.JMeter: Available Processors =8 
2016/11/01 15:24:31 INFO - jmeter.JMeter: Default Locale=English (United States) 
2016/11/01 15:24:31 INFO - jmeter.JMeter: JMeter Locale=English (United States) 
2016/11/01 15:24:31 INFO - jmeter.JMeter: JMeterHome=/Users/jboive/Downloads/apache-jmeter-3.0 
2016/11/01 15:24:31 INFO - jmeter.JMeter: user.dir =/Users/jboive/Downloads/apache-jmeter-3.0/bin 
2016/11/01 15:24:31 INFO - jmeter.JMeter: PWD  =/Users/jboive/Downloads/apache-jmeter-3.0/bin 
2016/11/01 15:24:31 INFO - jmeter.JMeter: IP: 10.0.1.19 Name: iMac.local FullName: 10.0.1.19 
2016/11/01 15:24:31 INFO - jmeter.gui.action.LookAndFeelCommand: Using look and feel: com.apple.laf.AquaLookAndFeel [Mac OS X, System] 
2016/11/01 15:24:31 INFO - jmeter.JMeter: Loaded icon properties from org/apache/jmeter/images/icon.properties 
2016/11/01 15:24:33 INFO - jmeter.engine.util.CompoundVariable: Note: Function class names must contain the string: '.functions.' 
2016/11/01 15:24:33 INFO - jmeter.engine.util.CompoundVariable: Note: Function class names must not contain the string: '.gui.' 
2016/11/01 15:24:35 INFO - org.jmeterplugins.repository.PluginManager: Plugins Status: [jpgc-graphs-basic=2.0, jpgc-graphs-additional=2.0, jpgc-autostop=0.1, blazemeter-debugger=0.3, jpgc-functions=2.0, jmeter-ftp=3.0, jpgc-filterresults=2.1, jmeter-http=3.0, jmeter-jdbc=3.0, jmeter-jms=3.0, jmeter-monitors=3.0, jmeter-core=3.0, jmeter-junit=3.0, jmeter-java=3.0, jmeter-ldap=3.0, jmeter-mail=3.0, jmeter-mongodb=3.0, jmeter-native=3.0, jpgc-plugins-manager=0.10, jpgc-synthesis=2.0, jmeter-tcp=3.0, jmeter-components=3.0] 
2016/11/01 15:24:36 INFO - jmeter.util.BSFTestElement: Registering JMeter version of JavaScript engine as work-round for BSF-22 
2016/11/01 15:24:36 INFO - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/html is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser 
2016/11/01 15:24:36 INFO - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for application/xhtml+xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser 
2016/11/01 15:24:36 INFO - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for application/xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser 
2016/11/01 15:24:36 INFO - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser 
2016/11/01 15:24:36 INFO - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/vnd.wap.wml is org.apache.jmeter.protocol.http.parser.RegexpHTMLParser 
2016/11/01 15:24:36 INFO - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/css is org.apache.jmeter.protocol.http.parser.CssParser 
2016/11/01 15:24:37 INFO - jorphan.exec.KeyToolUtils: keytool found at 'keytool' 
2016/11/01 15:24:37 INFO - jmeter.protocol.http.proxy.ProxyControl: HTTP(S) Test Script Recorder SSL Proxy will use keys that support embedded 3rd party resources in file /Users/jboive/Downloads/apache-jmeter-3.0/bin/proxyserver.jks 
2016/11/01 15:24:37 INFO - jmeter.gui.util.MenuFactory: Skipping org.apache.jmeter.protocol.mongodb.config.MongoSourceElement 
2016/11/01 15:24:37 INFO - jmeter.gui.util.MenuFactory: Skipping org.apache.jmeter.protocol.mongodb.sampler.MongoScriptSampler 
2016/11/01 15:24:37 INFO - jmeter.gui.util.MenuFactory: Skipping org.apache.jmeter.visualizers.DistributionGraphVisualizer 
2016/11/01 15:24:37 INFO - jmeter.samplers.SampleResult: Note: Sample TimeStamps are START times 
2016/11/01 15:24:37 INFO - jmeter.samplers.SampleResult: sampleresult.default.encoding is set to ISO-8859-1 
2016/11/01 15:24:37 INFO - jmeter.samplers.SampleResult: sampleresult.useNanoTime=true 
2016/11/01 15:24:37 INFO - jmeter.samplers.SampleResult: sampleresult.nanoThreadSleep=5000 
2016/11/01 15:24:37 INFO - jmeter.gui.util.MenuFactory: Skipping org.apache.jmeter.visualizers.SplineVisualizer 
2016/11/01 15:24:49 INFO - jmeter.services.FileServer: Default base='/Users/jboive/Downloads/apache-jmeter-3.0/bin' 
2016/11/01 15:24:49 INFO - jmeter.gui.action.Load: Loading file: /Users/jboive/Downloads/apache-jmeter-3.0/bin/thread-test.jmx 
2016/11/01 15:24:49 INFO - jmeter.services.FileServer: Set new base='/Users/jboive/Downloads/apache-jmeter-3.0/bin' 
2016/11/01 15:24:49 INFO - jmeter.save.SaveService: Testplan (JMX) version: 2.2. Testlog (JTL) version: 2.2 
2016/11/01 15:24:49 INFO - jmeter.save.SaveService: Using SaveService properties file encoding UTF-8 
2016/11/01 15:24:49 INFO - jmeter.save.SaveService: Using SaveService properties version 2.9 
2016/11/01 15:24:49 INFO - jmeter.save.SaveService: All converter versions present and correct 
2016/11/01 15:24:49 INFO - jmeter.save.SaveService: Loading file: /Users/jboive/Downloads/apache-jmeter-3.0/bin/thread-test.jmx 
2016/11/01 15:24:49 INFO - jmeter.services.FileServer: Set new base='/Users/jboive/Downloads/apache-jmeter-3.0/bin' 
2016/11/01 15:24:53 INFO - jmeter.samplers.SampleEvent: List of sample_variables: [] 
2016/11/01 15:29:59 INFO - jmeter.engine.StandardJMeterEngine: Running the test! 
2016/11/01 15:29:59 INFO - jmeter.samplers.SampleEvent: List of sample_variables: [] 
2016/11/01 15:29:59 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(true,*local*) 
2016/11/01 15:29:59 INFO - jmeter.engine.StandardJMeterEngine: Starting ThreadGroup: 1 : Thread Group 
2016/11/01 15:29:59 INFO - jmeter.engine.StandardJMeterEngine: Starting 1 threads for group Thread Group. 
2016/11/01 15:29:59 INFO - jmeter.engine.StandardJMeterEngine: Test will stop on error 
2016/11/01 15:29:59 INFO - jmeter.threads.ThreadGroup: Starting thread group number 1 threads 1 ramp-up 1 perThread 1000.0 delayedStart=false 
2016/11/01 15:29:59 INFO - jmeter.threads.ThreadGroup: Started thread group number 1 
2016/11/01 15:29:59 INFO - jmeter.engine.StandardJMeterEngine: All thread groups have been started 
2016/11/01 15:29:59 INFO - jmeter.threads.JMeterThread: Thread started: Thread Group 1-1 
2016/11/01 15:29:59 INFO - jmeter.protocol.http.sampler.HTTPHCAbstractImpl: Local host = iMac.local 
2016/11/01 15:29:59 INFO - jmeter.protocol.http.sampler.HTTPHC4Impl: HTTP request retry count = 0 
2016/11/01 15:29:59 INFO - jmeter.protocol.http.parser.BaseParser: Created org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser 
2016/11/01 15:29:59 INFO - jmeter.threads.JMeterThread: Thread is done: Thread Group 1-1 
2016/11/01 15:29:59 INFO - jmeter.threads.JMeterThread: Thread finished: Thread Group 1-1 
2016/11/01 15:29:59 INFO - jmeter.engine.StandardJMeterEngine: Notifying test listeners of end of test 
2016/11/01 15:29:59 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(false,*local*) 

回答

1

沒有什麼錯在這裏。

在GUI模式下,查看結果樹顯示所有字段。

在非GUI模式下,你已經爲查看輸出結果樹是CSV未存儲的所有領域,如響應數據,編碼...

這就是爲什麼你沒有所有的數據。

要獲得您想要的內容,請單擊查看結果樹中的「配置」按鈕,然後選擇XML字段。將你的文件重命名爲thread-test.xml。

enter image description here

+0

Wohoo!真棒! =) – jBoive

1

其實你的測試計劃確實的工作,它只是存儲度量的有限的子集在.jtl成果文件,該文件是足夠填充聽衆喜歡Aggregate Report或建立HTML Reporting Dashboard

數據被作爲保存請求而被削減,尤其是響應導致大量磁盤IO開銷並消耗大量內存,這就是爲什麼建議避免保存額外數據或僅在出現錯誤時才執行此操作的原因。

如果由於某種原因,您需要在非GUI模式下擁有完整的畫面,則可以通過JMeter Properties進行控制。爲了獲得細節作爲GUI模式下添加以下行user.properties文件(生活JMeter的「bin」文件夾)同一級別

jmeter.save.saveservice.output_format=xml 
jmeter.save.saveservice.response_data=true 
jmeter.save.saveservice.samplerData=true 
jmeter.save.saveservice.requestHeaders=true 
jmeter.save.saveservice.url=true 
jmeter.save.saveservice.responseHeaders=true 

JMeter的重新啓動將需要挑選性能向上。請參閱Apache JMeter Properties Customization Guide瞭解更多關於JMeter屬性和設置和/或覆蓋它們的方法

相關問題