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/03/02 16:14:17 UTC
svn commit: r513803 - in /jakarta/jmeter/branches/rel-2-2:
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: Fri Mar 2 07:14:15 2007
New Revision: 513803
URL: http://svn.apache.org/viewvc?view=rev&rev=513803
Log:
Added __V variable function to resolve nested variable names
Modified:
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/resources/messages.properties
jakarta/jmeter/branches/rel-2-2/test/src/org/apache/jmeter/functions/PackageTest.java
jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml
jakarta/jmeter/branches/rel-2-2/xdocs/usermanual/functions.xml
Modified: jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/resources/messages.properties
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/resources/messages.properties?view=diff&rev=513803&r1=513802&r2=513803
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/resources/messages.properties (original)
+++ jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/resources/messages.properties Fri Mar 2 07:14:15 2007
@@ -745,6 +745,7 @@
userpw=Password
value=Value
var_name=Reference Name
+variable_name_param=Name of variable (may include variable and function references)
view_graph_tree_title=View Graph Tree
view_results_in_table=View Results in Table
view_results_tab_request=Request
Modified: jakarta/jmeter/branches/rel-2-2/test/src/org/apache/jmeter/functions/PackageTest.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/test/src/org/apache/jmeter/functions/PackageTest.java?view=diff&rev=513803&r1=513802&r2=513803
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/test/src/org/apache/jmeter/functions/PackageTest.java (original)
+++ jakarta/jmeter/branches/rel-2-2/test/src/org/apache/jmeter/functions/PackageTest.java Fri Mar 2 07:14:15 2007
@@ -183,6 +183,9 @@
par3.addTest(new PackageTest("XPathThread2"));
allsuites.addTest(par3);
+ TestSuite variable = new TestSuite("Variable");
+ random.addTest(new PackageTest("VariableTest1"));
+ allsuites.addTest(variable);
return allsuites;
}
@@ -809,4 +812,50 @@
//String s =
r.execute(null,null);
}
+
+ public void VariableTest1() throws Exception {
+ Variable r = new Variable();
+ vars.put("A_1","a1");
+ vars.put("A_2","a2");
+ vars.put("one","1");
+ vars.put("two","2");
+ vars.put("V","A");
+ Collection parms;
+ String s;
+
+ parms = MakeParams("V",null,null);
+ r.setParameters(parms);
+ s = r.execute(null,null);
+ assertEquals("A",s);
+
+ parms = MakeParams("X",null,null);
+ r.setParameters(parms);
+ s = r.execute(null,null);
+ assertEquals("X",s);
+
+ parms = MakeParams("A${X}",null,null);
+ r.setParameters(parms);
+ s = r.execute(null,null);
+ assertEquals("A${X}",s);
+
+ parms = MakeParams("A_1",null,null);
+ r.setParameters(parms);
+ s = r.execute(null,null);
+ assertEquals("a1",s);
+
+ parms = MakeParams("A_2",null,null);
+ r.setParameters(parms);
+ s = r.execute(null,null);
+ assertEquals("a2",s);
+
+ parms = MakeParams("A_${two}",null,null);
+ r.setParameters(parms);
+ s = r.execute(null,null);
+ assertEquals("a2",s);
+
+ parms = MakeParams("${V}_${one}",null,null);
+ r.setParameters(parms);
+ s = r.execute(null,null);
+ assertEquals("a1",s);
+ }
}
Modified: jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml?view=diff&rev=513803&r1=513802&r2=513803
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml (original)
+++ jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml Fri Mar 2 07:14:15 2007
@@ -67,6 +67,7 @@
<li>Change to htmlparser 2.0</li>
<li>Updated to xstream 1.2.1/xpp3_min-1.1.3.4.O</li>
<li>Bug 39717 - use icons in the results tree instead of colors</li>
+<li>Added __V variable function to resolve nested variable names</li>
</ul>
<h4>Bug fixes:</h4>
Modified: jakarta/jmeter/branches/rel-2-2/xdocs/usermanual/functions.xml
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/xdocs/usermanual/functions.xml?view=diff&rev=513803&r1=513802&r2=513803
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/xdocs/usermanual/functions.xml (original)
+++ jakarta/jmeter/branches/rel-2-2/xdocs/usermanual/functions.xml Fri Mar 2 07:14:15 2007
@@ -24,7 +24,7 @@
<document prev="component_reference.html" next="regular_expressions.html" date="2004/06/12">
<properties>
- <title>User's Manual: Functions</title>
+ <title>User's Manual: Functions and Variables</title>
</properties>
<body>
@@ -75,6 +75,7 @@
<li><a href="#__XPath">XPath - XPath use an xpath expression</a></li>
<li><a href="#__time">time - return current time in various formats</a></li>
<li><a href="#__jexl">jexl - evaluate a Commons Jexl expression</a></li>
+ <li><a href="#__V">V evaluate a variable expression</a></li>
</ul>
<subsection name="§-num;.1 What can functions do" anchor="what_can_do">
@@ -84,6 +85,11 @@
run. This could be used to replace the DOMAIN field of all HTTP requests, for example - making it a simple
matter to change a test to target a different server with the same test.
</p>
+<p>
+Note that variables cannot currently be nested; i.e ${Var${N}} does not work.
+The __V (variable) function (since 2.2.1) can be used to do this: ${__V(Var${N})}.
+In earlier JMeter versions one can use ${__BeanShell(vars.get("Var${N}")}.
+</p>
<p>This type of replacement is possible without functions, but was less convenient and less intuitive.
It required users to create default config elements that would fill in blank values of Samplers. User-defined
functions allow one to replace only part of any given value, not just filling in blank values.</p>
@@ -690,6 +696,19 @@
<properties>
<property name="Expression" required="Yes">
The expression to be evaluated.
+ </property>
+</properties>
+</component>
+
+<component index="§-num;.5.19" name="__V">
+<description>
+ <p>The V (variable) function returns the result of evaluating a variable name expression.
+ </p>
+ </description>
+
+<properties>
+ <property name="Variable name" required="Yes">
+ The variable to be evaluated.
</property>
</properties>
</component>
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org