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 2008/05/13 14:53:40 UTC
svn commit: r655843 - in /jakarta/jmeter/trunk: docs/ docs/usermanual/
src/functions/org/apache/jmeter/functions/ xdocs/ xdocs/usermanual/
Author: sebb
Date: Tue May 13 05:53:39 2008
New Revision: 655843
URL: http://svn.apache.org/viewvc?rev=655843&view=rev
Log:
Give BeanShell, Javascript and Jexl functions access to JMeter properties via the "props" object
Modified:
jakarta/jmeter/trunk/docs/changes.html
jakarta/jmeter/trunk/docs/usermanual/functions.html
jakarta/jmeter/trunk/src/functions/org/apache/jmeter/functions/BeanShell.java
jakarta/jmeter/trunk/src/functions/org/apache/jmeter/functions/JavaScript.java
jakarta/jmeter/trunk/src/functions/org/apache/jmeter/functions/JexlFunction.java
jakarta/jmeter/trunk/xdocs/changes.xml
jakarta/jmeter/trunk/xdocs/usermanual/functions.xml
Modified: jakarta/jmeter/trunk/docs/changes.html
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/docs/changes.html?rev=655843&r1=655842&r2=655843&view=diff
==============================================================================
--- jakarta/jmeter/trunk/docs/changes.html (original)
+++ jakarta/jmeter/trunk/docs/changes.html Tue May 13 05:53:39 2008
@@ -663,6 +663,11 @@
</li>
+ <li >
+ Give BeanShell, Javascript and Jexl functions access to JMeter properties via the "props" object
+ </li>
+
+
</ul>
<h4 >
Non-functional changes
Modified: jakarta/jmeter/trunk/docs/usermanual/functions.html
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/docs/usermanual/functions.html?rev=655843&r1=655842&r2=655843&view=diff
==============================================================================
--- jakarta/jmeter/trunk/docs/usermanual/functions.html (original)
+++ jakarta/jmeter/trunk/docs/usermanual/functions.html Tue May 13 05:53:39 2008
@@ -1577,7 +1577,7 @@
<p >
-Versions of JMeter after 2.3 make the following variables available to the script:
+The following variables are made available to the script:
</p>
@@ -1610,6 +1610,11 @@
</li>
+ <li >
+ props - JMeter Properties object
+ </li>
+
+
</ul>
@@ -2288,6 +2293,11 @@
<li >
+ props - JMeter Properties object
+ </li>
+
+
+ <li >
threadName - the threadName
</li>
@@ -2772,7 +2782,7 @@
</p>
<p >
-JMeter 2.3 (and later versions) make the following variables available to the script:
+The following variables are made available to the script:
</p>
<ul >
@@ -2789,6 +2799,11 @@
<li >
+ props - JMeter Properties object
+ </li>
+
+
+ <li >
threadName - String
</li>
Modified: jakarta/jmeter/trunk/src/functions/org/apache/jmeter/functions/BeanShell.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/functions/org/apache/jmeter/functions/BeanShell.java?rev=655843&r1=655842&r2=655843&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/functions/org/apache/jmeter/functions/BeanShell.java (original)
+++ jakarta/jmeter/trunk/src/functions/org/apache/jmeter/functions/BeanShell.java Tue May 13 05:53:39 2008
@@ -106,6 +106,7 @@
// Allow access to context and variables directly
bshInterpreter.set("ctx", jmctx); //$NON-NLS-1$
bshInterpreter.set("vars", vars); //$NON-NLS-1$
+ bshInterpreter.set("props", JMeterUtils.getJMeterProperties()); //$NON-NLS-1$
bshInterpreter.set("threadName", Thread.currentThread().getName()); //$NON-NLS-1$
// Execute the script
Modified: jakarta/jmeter/trunk/src/functions/org/apache/jmeter/functions/JavaScript.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/functions/org/apache/jmeter/functions/JavaScript.java?rev=655843&r1=655842&r2=655843&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/functions/org/apache/jmeter/functions/JavaScript.java (original)
+++ jakarta/jmeter/trunk/src/functions/org/apache/jmeter/functions/JavaScript.java Tue May 13 05:53:39 2008
@@ -86,6 +86,7 @@
// Set up some objects for the script to play with
scope.put("ctx", scope, jmctx); //$NON-NLS-1$
scope.put("vars", scope, vars); //$NON-NLS-1$
+ scope.put("props", scope, JMeterUtils.getJMeterProperties()); //$NON-NLS-1$
scope.put("theadName", scope, Thread.currentThread().getName()); //$NON-NLS-1$
scope.put("sampler", scope, currentSampler); //$NON-NLS-1$
scope.put("sampleResult", scope, previousResult); //$NON-NLS-1$
Modified: jakarta/jmeter/trunk/src/functions/org/apache/jmeter/functions/JexlFunction.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/functions/org/apache/jmeter/functions/JexlFunction.java?rev=655843&r1=655842&r2=655843&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/functions/org/apache/jmeter/functions/JexlFunction.java (original)
+++ jakarta/jmeter/trunk/src/functions/org/apache/jmeter/functions/JexlFunction.java Tue May 13 05:53:39 2008
@@ -20,6 +20,7 @@
import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
+import java.util.Map;
import org.apache.commons.jexl.Expression;
import org.apache.commons.jexl.ExpressionFactory;
@@ -77,11 +78,13 @@
{
Expression e = ExpressionFactory.createExpression(exp);
JexlContext jc = JexlHelper.createContext();
- jc.getVars().put("ctx", jmctx); //$NON-NLS-1$
- jc.getVars().put("vars", vars); //$NON-NLS-1$
- jc.getVars().put("theadName", Thread.currentThread().getName()); //$NON-NLS-1$
- jc.getVars().put("sampler", currentSampler); //$NON-NLS-1$ (may be null)
- jc.getVars().put("sampleResult", previousResult); //$NON-NLS-1$ (may be null)
+ final Map jexlVars = jc.getVars();
+ jexlVars.put("ctx", jmctx); //$NON-NLS-1$
+ jexlVars.put("vars", vars); //$NON-NLS-1$
+ jexlVars.put("props", JMeterUtils.getJMeterProperties()); //$NON-NLS-1$
+ jexlVars.put("theadName", Thread.currentThread().getName()); //$NON-NLS-1$
+ jexlVars.put("sampler", currentSampler); //$NON-NLS-1$ (may be null)
+ jexlVars.put("sampleResult", previousResult); //$NON-NLS-1$ (may be null)
// Now evaluate the expression, getting the result
Object o = e.evaluate(jc);
Modified: jakarta/jmeter/trunk/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/changes.xml?rev=655843&r1=655842&r2=655843&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/changes.xml (original)
+++ jakarta/jmeter/trunk/xdocs/changes.xml Tue May 13 05:53:39 2008
@@ -199,6 +199,7 @@
<li>Bug 19128 - Added multiple file POST support to HTTP Samplers</li>
<li>Allow use of special name LAST to mean the last test run; applies to -t, -l, -j flags</li>
<li>Bug 44418/42178 - CSV Dataset file handling improvements</li>
+<li>Give BeanShell, Javascript and Jexl functions access to JMeter properties via the "props" object</li>
</ul>
<h4>Non-functional changes</h4>
Modified: jakarta/jmeter/trunk/xdocs/usermanual/functions.xml
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/usermanual/functions.xml?rev=655843&r1=655842&r2=655843&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/usermanual/functions.xml (original)
+++ jakarta/jmeter/trunk/xdocs/usermanual/functions.xml Tue May 13 05:53:39 2008
@@ -460,7 +460,7 @@
For details of the language, please see <a href="http://www.mozilla.org/rhino/overview.html">Mozilla Rhino Overview</a>
</p>
<p>
-Versions of JMeter after 2.3 make the following variables available to the script:
+The following variables are made available to the script:
</p>
<ul>
<li>ctx - JMeterContext object</li>
@@ -468,6 +468,7 @@
<li>threadName - String</li>
<li>sampler - current Sampler object (if any)</li>
<li>sampleResult - previous SampleResult object (if any)</li>
+<li>props - JMeter Properties object</li>
</ul>
<note>
JMeter is not a browser, and does not interpret the JavaScript in downloaded pages.
@@ -704,6 +705,7 @@
<li>log - the logger for the BeanShell function (*)</li>
<li>ctx - the current JMeter context variable</li>
<li>vars - the current JMeter variables</li>
+<li>props - JMeter Properties object</li>
<li>threadName - the threadName</li>
<li>Sampler the current Sampler, if any</li>
<li>SampleResult - the current SampleResult, if any</li>
@@ -865,11 +867,12 @@
<property name="Name of variable" required="No">The name of the variable to set.</property>
</properties>
<p>
-JMeter 2.3 (and later versions) make the following variables available to the script:
+The following variables are made available to the script:
</p>
<ul>
<li>ctx - JMeterContext object</li>
<li>vars - JMeterVariables object</li>
+<li>props - JMeter Properties object</li>
<li>threadName - String</li>
<li>sampler - current Sampler object (if any)</li>
<li>sampleResult - previous SampleResult object (if any)</li>
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org