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 2007/09/26 16:03:32 UTC
svn commit: r579657 - in /jakarta/jmeter/trunk:
src/core/org/apache/jmeter/resources/messages.properties
test/src/org/apache/jmeter/functions/PackageTest.java xdocs/changes.xml
xdocs/usermanual/functions.xml
Author: sebb
Date: Wed Sep 26 07:03:31 2007
New Revision: 579657
URL: http://svn.apache.org/viewvc?rev=579657&view=rev
Log:
Add eval() and evalVar() functions
Modified:
jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
jakarta/jmeter/trunk/test/src/org/apache/jmeter/functions/PackageTest.java
jakarta/jmeter/trunk/xdocs/changes.xml
jakarta/jmeter/trunk/xdocs/usermanual/functions.xml
Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties?rev=579657&r1=579656&r2=579657&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties (original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties Wed Sep 26 07:03:31 2007
@@ -172,6 +172,8 @@
error_occurred=Error Occurred
error_title=Error
es=Spanish
+eval_name_param=Text containing variable and function references
+evalvar_name_param=Name of variable
example_data=Sample Data
example_title=Example Sampler
exit=Exit
Modified: jakarta/jmeter/trunk/test/src/org/apache/jmeter/functions/PackageTest.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/test/src/org/apache/jmeter/functions/PackageTest.java?rev=579657&r1=579656&r2=579657&view=diff
==============================================================================
--- jakarta/jmeter/trunk/test/src/org/apache/jmeter/functions/PackageTest.java (original)
+++ jakarta/jmeter/trunk/test/src/org/apache/jmeter/functions/PackageTest.java Wed Sep 26 07:03:31 2007
@@ -45,11 +45,11 @@
import org.apache.log.Logger;
/**
- * @version $Revision$ $Date$
+ * Test cases for Functions
*/
public class PackageTest extends JMeterTestCase {
- transient private static final Logger log = LoggingManager.getLoggerForClass();
+ private static final Logger log = LoggingManager.getLoggerForClass();
static {
// LoggingManager.setPriority("DEBUG","jmeter");
@@ -184,8 +184,14 @@
allsuites.addTest(par3);
TestSuite variable = new TestSuite("Variable");
- random.addTest(new PackageTest("VariableTest1"));
+ variable.addTest(new PackageTest("VariableTest1"));
allsuites.addTest(variable);
+
+ TestSuite eval = new TestSuite("Eval");
+ eval.addTest(new PackageTest("EvalTest1"));
+ eval.addTest(new PackageTest("EvalTest2"));
+ allsuites.addTest(eval);
+
return allsuites;
}
@@ -857,5 +863,34 @@
r.setParameters(parms);
s = r.execute(null,null);
assertEquals("a1",s);
+ }
+
+ public void EvalTest1() throws Exception {
+ EvalFunction eval = new EvalFunction();
+ vars.put("query","select ${column} from ${table}");
+ vars.put("column","name");
+ vars.put("table","customers");
+ Collection parms;
+ String s;
+
+ parms = MakeParams("${query}",null,null);
+ eval.setParameters(parms);
+ s = eval.execute(null,null);
+ assertEquals("select name from customers",s);
+
+ }
+
+ public void EvalTest2() throws Exception {
+ EvalVarFunction evalVar = new EvalVarFunction();
+ vars.put("query","select ${column} from ${table}");
+ vars.put("column","name");
+ vars.put("table","customers");
+ Collection parms;
+ String s;
+
+ parms = MakeParams("query",null,null);
+ evalVar.setParameters(parms);
+ s = evalVar.execute(null,null);
+ assertEquals("select name from customers",s);
}
}
Modified: jakarta/jmeter/trunk/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/changes.xml?rev=579657&r1=579656&r2=579657&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/changes.xml (original)
+++ jakarta/jmeter/trunk/xdocs/changes.xml Wed Sep 26 07:03:31 2007
@@ -41,6 +41,7 @@
<li>Add File->Revert to easily drop the current changes and reload the project file currently loaded</li>
<li>Bug 31366 - Remember recently opened file(s)</li>
<li>Bug 43351 - Add support for Parameters and script file to all BeanShell test elements</li>
+<li>New functions: __eval() and __evalVar()</li>
</ul>
<!-- =================== -->
Modified: jakarta/jmeter/trunk/xdocs/usermanual/functions.xml
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/usermanual/functions.xml?rev=579657&r1=579656&r2=579657&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/usermanual/functions.xml (original)
+++ jakarta/jmeter/trunk/xdocs/usermanual/functions.xml Wed Sep 26 07:03:31 2007
@@ -761,6 +761,43 @@
</properties>
</component>
+<component index="§-num;.5.20" name="__evalVar">
+<description>
+ <p>The eval function returns the result of evaluating an expression stored in a variable.
+ </p>
+ <p>
+ This allows one to read a string from a file, and process any variable references in it.
+ For example, if the variable "query" contains "select ${column} from ${table}"
+ and "column" and "table" contain "name" and "customers", then ${__evalVar(query)}
+ will evaluate as "select name from customers".
+ </p>
+ </description>
+
+<properties>
+ <property name="Variable name" required="Yes">
+ The variable to be evaluated.
+ </property>
+</properties>
+</component>
+<component index="§-num;.5.21" name="__eval">
+<description>
+ <p>The eval function returns the result of evaluating an expression.
+ </p>
+ <p>
+ This allows one to interpolate variable and function references in a string.
+ For example, if "column" and "table" contain "name" and "customers",
+ then ${__eval(select ${column} from ${table})}
+ will evaluate as "select name from customers".
+ </p>
+ </description>
+
+<properties>
+ <property name="Variable name" required="Yes">
+ The variable to be evaluated.
+ </property>
+</properties>
+</component>
+
</subsection>
<subsection name="§-num;.6 Pre-defined Variables" anchor="predefinedvars">
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org