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 2005/11/10 23:17:10 UTC
svn commit: r332386 - in /jakarta/jmeter/branches/rel-2-1:
src/protocol/java/org/apache/jmeter/protocol/java/sampler/BeanShellSampler.java
xdocs/usermanual/component_reference.xml
Author: sebb
Date: Thu Nov 10 14:17:01 2005
New Revision: 332386
URL: http://svn.apache.org/viewcvs?rev=332386&view=rev
Log:
Allow Sampler to set Response Data directly
Modified:
jakarta/jmeter/branches/rel-2-1/src/protocol/java/org/apache/jmeter/protocol/java/sampler/BeanShellSampler.java
jakarta/jmeter/branches/rel-2-1/xdocs/usermanual/component_reference.xml
Modified: jakarta/jmeter/branches/rel-2-1/src/protocol/java/org/apache/jmeter/protocol/java/sampler/BeanShellSampler.java
URL: http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/src/protocol/java/org/apache/jmeter/protocol/java/sampler/BeanShellSampler.java?rev=332386&r1=332385&r2=332386&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-1/src/protocol/java/org/apache/jmeter/protocol/java/sampler/BeanShellSampler.java (original)
+++ jakarta/jmeter/branches/rel-2-1/src/protocol/java/org/apache/jmeter/protocol/java/sampler/BeanShellSampler.java Thu Nov 10 14:17:01 2005
@@ -130,7 +130,9 @@
bshInterpreter.set("ctx", jmctx);//$NON-NLS-1$
bshInterpreter.set("vars", vars);//$NON-NLS-1$
- Object bshOut;
+ res.setDataType(SampleResult.TEXT); // assume text output - script can override if necessary
+
+ Object bshOut;
if (fileName.length() == 0) {
bshOut = bshInterpreter.eval(request);
@@ -138,14 +140,12 @@
bshOut = bshInterpreter.source(fileName);
}
- String out;
- if (bshOut == null) {// Script did not return anything...
- out = "";
- } else {
- out = bshOut.toString();
+ if (bshOut != null) {// Set response data
+ String out = bshOut.toString();
+ res.setResponseData(out.getBytes());
}
- res.setResponseData(out.getBytes());
- res.setDataType(SampleResult.TEXT);
+ // script can also use setResponseData() so long as it returns null
+
res.setResponseCode(bshInterpreter.get("ResponseCode").toString());//$NON-NLS-1$
res.setResponseMessage(bshInterpreter.get("ResponseMessage").toString());//$NON-NLS-1$
isSuccessful = Boolean.valueOf(bshInterpreter.get("IsSuccess") //$NON-NLS-1$
Modified: jakarta/jmeter/branches/rel-2-1/xdocs/usermanual/component_reference.xml
URL: http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/xdocs/usermanual/component_reference.xml?rev=332386&r1=332385&r2=332386&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-1/xdocs/usermanual/component_reference.xml (original)
+++ jakarta/jmeter/branches/rel-2-1/xdocs/usermanual/component_reference.xml Thu Nov 10 14:17:01 2005
@@ -575,7 +575,12 @@
<li>ResponseMessage - for example "OK"</li>
<li>IsSuccess - true/false</li>
</ul>
- <p>The Sampler ResponseData is set from the return value of the script.</p>
+ <p>The Sampler ResponseData is set from the return value of the script.
+ Since version 2.1.2, if the script returns null, it can set the response directly, by using the method
+ SampleResponse.setResponseData(data), where data is either a String or a byte array.
+ The data type defaults to "text", but can be set to binary by using the method
+ SampleResponse.setDataType(SampleResponse.BINARY).
+ </p>
<p>The SampleResult variable gives the script full access to all the fields and
methods in the SampleResult. For example, the script has access to the methods
setStopThread(boolean) and setStopTest(boolean).
@@ -588,6 +593,9 @@
SampleResult.setStopThread(true);
}
return "Data from sample with Label "+Label;
+//or, since version 2.1.2
+SampleResult.setResponseData("My data");
+return null;
</pre>
</component>
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org