2009-10-04 16 views
30

मैं हमारी वेबसाइट एपीआई परीक्षण तनाव के लिए जेएमटर कमांड लाइन का उपयोग कर रहा हूं। अब, यहां एक नमूना परिणाम है जो मैं वापस प्राप्त कर रहा हूं:जेएमटर - असफल प्रतिक्रिया के लिए पूर्ण अनुरोध कैसे लॉग करें?

Creating summariser <summary> 
Created the tree successfully using street_advisor.jmx 
Starting the test @ Sat Oct 03 15:22:59 PDT 2009 (1254608579848) 
Waiting for possible shutdown message on port 4445 
summary +  1 in 0.0s = 37.0/s Avg: 27 Min: 27 Max: 27 Err:  1 (100.00%) 
<snip a few more lines> 
<then i break it> 

तो मुझे एक त्रुटि मिल रही है।

वर्तमान में, सभी त्रुटियां एक फ़ाइल में जा रही हैं। जब मैं उस फाइल को चेक करता हूं, तो यह कह रहा है कि यह 404 है। एर .. ठीक है। क्या वैसे भी मैं बिल्कुल देख सकता हूं कि जेएमटर ने क्या अनुरोध किया?

यहाँ, मेरे कॉन्फ़िग फ़ाइल का एक टुकड़ा है ...

<ResultCollector guiclass="SimpleDataWriter" testclass="ResultCollector" testname="Error Writer" enabled="true"> 
      <boolProp name="ResultCollector.error_logging">true</boolProp> 
      <objProp> 
      <name>saveConfig</name> 
      <value class="SampleSaveConfiguration"> 
       <time>true</time> 
       <latency>true</latency> 
       <timestamp>false</timestamp> 
       <success>true</success> 
       <label>true</label> 
       <code>true</code> 
       <message>true</message> 
       <threadName>false</threadName> 
       <dataType>true</dataType> 
       <encoding>false</encoding> 
       <assertions>true</assertions> 
       <subresults>true</subresults> 
       <responseData>false</responseData> 
       <samplerData>false</samplerData> 
       <xml>true</xml> 
       <fieldNames>false</fieldNames> 
       <responseHeaders>true</responseHeaders> 
       <requestHeaders>true</requestHeaders> 
       <responseDataOnError>false</responseDataOnError> 
       <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage> 
       <assertionsResultsToSave>0</assertionsResultsToSave> 
       <bytes>true</bytes> 
      </value> 
      </objProp> 
      <stringProp name="filename">./error.jtl</stringProp> 
     </ResultCollector> 

अब से पहले किसी को कहते हैं, मैं जानता हूँ कि मैं यह कर सकता और हां, मैं 404 मिल गया है 'वेब सर्वर लॉग फाइल की जाँच करें'। लेकिन मुझे यह देखने की उम्मीद है कि क्या उन्हें एक्सेस किए बिना यह संभव है .. विशेष रूप से यदि वे किसी अन्य सर्वर पर हैं और/या मैं उन तक पहुंच नहीं पा रहा हूं। कृपया मदद करें!

उत्तर

53

View Results Tree घटक सभी नमूना प्रतिक्रियाओं का एक पेड़ दिखाता है, जिससे आप किसी भी नमूने के लिए अनुरोध और प्रतिक्रिया दोनों को देख सकते हैं। आप फ़ाइल को प्रतिक्रियाओं का उपयोग करके पूरी प्रतिक्रिया को फ़ाइल में भी सहेज सकते हैं।

+5

सही, लेकिन मैं कमांड लाइन के माध्यम से ऐसा कर रहा था .. इसलिए मुझे जीयूआई तक पहुंच नहीं है। Bu tI ने मेरे प्रश्न (ब्लश) में निर्दिष्ट नहीं किया था। साथ ही, मैं यह नहीं समझ पाया कि कमांड लाइन के माध्यम से इसे कैसे किया जाए, इसलिए मैंने जो भी सुझाव दिया है, वही कर रहा हूं :) –

+2

यदि आप कमांड लाइन का उपयोग कर रहे हैं तो आप डेटा को आउटपुट फ़ाइल में भेजने के लिए अपना परीक्षण कॉन्फ़िगर कर सकते हैं (jtl) और उसके बाद उस फ़ाइल को इस उपकरण के साथ संसाधित करें: http://jmeter-plugins.org/wiki/JMeterPluginsCMD/ पीएनजी या सीएसवी को निर्यात करने के लिए। – hveiras

+0

अगर मैं सही तरीके से प्रश्न पढ़ता हूं, तो लॉग इन अनुरोध की तलाश नहीं कर रहा था ...? – arcseldon

20

मुझे यह धागा प्रतिक्रिया मिली केवल जब एक नमूना विफल रहता है, तो स्वीकार किया गया समाधान मेरे लिए अच्छा नहीं है। मेरे पास सैकड़ों हजारों नमूनों को शामिल करने वाले बहुत अधिक भार पर कभी-कभी नमूना विफलताएं होती हैं, इसलिए एक पेड़ श्रोता मेरे लिए पूरी तरह से अव्यवहारिक है (यह आकार में कई गीगाबाइट तक पहुंच जाएगा), इसलिए यहां मैं जो आया हूं (जो कि अच्छा होना चाहिए ओपी के परिदृश्य के रूप में अच्छी तरह से):

जोड़ें BeanShell Assertion() अन्य सभी दावे के बाद आते हैं और उस में नीचे दिए गए कोड रखना चाहिए:

if (Boolean.valueOf(vars.get("DEBUG"))) { 
    for (a: SampleResult.getAssertionResults()) { 
    if (a.isError() || a.isFailure()) { 
     log.error(Thread.currentThread().getName()+": "+SampleLabel+": Assertion failed for response: " + new String((byte[]) ResponseData)); 
    } 
    } 
} 

इस पूरी प्रतिक्रिया का कारण होगा JMeter लॉग में लॉग इन किया जा रहा है फ़ाइल जो मेरे मामले में ठीक है, क्योंकि मुझे पता है कि प्रतिक्रियाएं वास्तव में छोटी हैं, लेकिन बड़ी प्रतिक्रियाओं के लिए, अधिक बुद्धिमान प्रसंस्करण किया जा सकता है।

+0

अच्छा विचार !! यहाँ प्रारंभ करें –

+0

मैंने "DEBUG" नामक यूडीवी का उपयोग करके लॉग को नियंत्रित करने की क्षमता को जोड़ा, इसलिए नियमित वर्कलोड के लिए दावा छोड़ना आसान है, और केवल आवश्यक होने पर इसे सक्षम करना आसान है। – haridsv

+0

@haridsv अच्छा निर्णय! लेकिन क्या अनुरोध डेटा को सहेजना संभव है जिसके कारण असफल प्रतिक्रिया हुई? – ShurupuS

4

एक 'फ़ाइल में प्रतिक्रियाएं सहेजें' श्रोता है, जो त्रुटि होने पर ही फ़ाइल में सहेज सकता है।

संबंधित मुद्दे