You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jmeter-dev@jakarta.apache.org by se...@apache.org on 2010/01/21 19:02:20 UTC

svn commit: r901805 - /jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/XPathExtractor.java

Author: sebb
Date: Thu Jan 21 18:02:20 2010
New Revision: 901805

URL: http://svn.apache.org/viewvc?rev=901805&view=rev
Log:
Better reporting of XPath errors

Modified:
    jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/XPathExtractor.java

Modified: jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/XPathExtractor.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/XPathExtractor.java?rev=901805&r1=901804&r2=901805&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/XPathExtractor.java (original)
+++ jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/XPathExtractor.java Thu Jan 21 18:02:20 2010
@@ -128,18 +128,27 @@
             previousResult.addAssertionResult(ass);
             previousResult.setSuccessful(false);
         } catch (ParserConfigurationException e) {// Should not happen
-            final String errrorMessage = "error on ("+getXPathQuery()+")";
+            final String errrorMessage = "ParserConfigurationException while processing ("+getXPathQuery()+")";
             log.error(errrorMessage,e);
             throw new JMeterError(errrorMessage,e);
         } catch (SAXException e) {// Can happen for bad input document
-            log.warn("error on ("+getXPathQuery()+")"+e.getLocalizedMessage());
+            log.warn("SAXException while processing ("+getXPathQuery()+") "+e.getLocalizedMessage());
+            addAssertionFailure(previousResult, e, false); // Should this also fail the sample?
         } catch (TransformerException e) {// Can happen for incorrect XPath expression
-            log.warn("error on ("+getXPathQuery()+")"+e.getLocalizedMessage());
+            log.warn("TransformerException while processing ("+getXPathQuery()+") "+e.getLocalizedMessage());
+            addAssertionFailure(previousResult, e, false);
         } catch (TidyException e) {
-            AssertionResult ass = new AssertionResult("TidyException"); // $NON-NLS-1$
-            ass.setFailure(true);
-            ass.setFailureMessage(e.getLocalizedMessage());
-            previousResult.addAssertionResult(ass);
+            addAssertionFailure(previousResult, e, true); // fail the sample
+        }
+    }
+
+    private void addAssertionFailure(final SampleResult previousResult,
+            final Throwable thrown, final boolean setFailed) {
+        AssertionResult ass = new AssertionResult(thrown.getClass().getSimpleName()); // $NON-NLS-1$
+        ass.setFailure(true);
+        ass.setFailureMessage(getXPathQuery()+" => "+thrown.getLocalizedMessage());
+        previousResult.addAssertionResult(ass);
+        if (setFailed){
             previousResult.setSuccessful(false);
         }
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org