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 2006/04/27 02:09:08 UTC

svn commit: r397346 - in /jakarta/jmeter/branches/rel-2-1: src/core/org/apache/jmeter/resources/ src/protocol/http/org/apache/jmeter/protocol/http/modifier/ src/protocol/http/org/apache/jmeter/protocol/http/modifier/gui/ test/src/org/apache/jmeter/prot...

Author: sebb
Date: Wed Apr 26 17:09:06 2006
New Revision: 397346

URL: http://svn.apache.org/viewcvs?rev=397346&view=rev
Log:
Bug 15025 - URL Rewriter can cache Session ID

Added:
    jakarta/jmeter/branches/rel-2-1/xdocs/images/screenshots/url_rewrite_example_b.png   (with props)
Modified:
    jakarta/jmeter/branches/rel-2-1/src/core/org/apache/jmeter/resources/messages.properties
    jakarta/jmeter/branches/rel-2-1/src/protocol/http/org/apache/jmeter/protocol/http/modifier/URLRewritingModifier.java
    jakarta/jmeter/branches/rel-2-1/src/protocol/http/org/apache/jmeter/protocol/http/modifier/gui/URLRewritingModifierGui.java
    jakarta/jmeter/branches/rel-2-1/test/src/org/apache/jmeter/protocol/http/modifier/TestURLRewritingModifier.java
    jakarta/jmeter/branches/rel-2-1/xdocs/changes.xml
    jakarta/jmeter/branches/rel-2-1/xdocs/images/screenshots/url_rewriter.png
    jakarta/jmeter/branches/rel-2-1/xdocs/usermanual/build-adv-web-test-plan.xml
    jakarta/jmeter/branches/rel-2-1/xdocs/usermanual/component_reference.xml

Modified: jakarta/jmeter/branches/rel-2-1/src/core/org/apache/jmeter/resources/messages.properties
URL: http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/src/core/org/apache/jmeter/resources/messages.properties?rev=397346&r1=397345&r2=397346&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-1/src/core/org/apache/jmeter/resources/messages.properties (original)
+++ jakarta/jmeter/branches/rel-2-1/src/core/org/apache/jmeter/resources/messages.properties Wed Apr 26 17:09:06 2006
@@ -77,6 +77,7 @@
 bsh_script_file=Script file
 bsh_script_parameters=Parameters (-> String Parameters and String []bsh.args)
 busy_testing=I'm busy testing, please stop the test before changing settings
+cache_session_id=Cache Session Id?
 cancel=Cancel
 cancel_exit_to_save=There are test items that have not been saved.  Do you wish to save before exiting?
 cancel_new_to_save=There are test items that have not been saved.  Do you wish to save before clearing the test plan?

Modified: jakarta/jmeter/branches/rel-2-1/src/protocol/http/org/apache/jmeter/protocol/http/modifier/URLRewritingModifier.java
URL: http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/src/protocol/http/org/apache/jmeter/protocol/http/modifier/URLRewritingModifier.java?rev=397346&r1=397345&r2=397346&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-1/src/protocol/http/org/apache/jmeter/protocol/http/modifier/URLRewritingModifier.java (original)
+++ jakarta/jmeter/branches/rel-2-1/src/protocol/http/org/apache/jmeter/protocol/http/modifier/URLRewritingModifier.java Wed Apr 26 17:09:06 2006
@@ -43,7 +43,9 @@
 
 public class URLRewritingModifier extends AbstractTestElement implements Serializable, PreProcessor {
 
-	private Pattern pathExtensionEqualsQuestionmarkRegexp;
+	private static final String SEMI_COLON = ";"; // $NON-NLS-1$
+
+    private Pattern pathExtensionEqualsQuestionmarkRegexp;
 
 	private Pattern pathExtensionEqualsNoQuestionmarkRegexp;
 
@@ -54,14 +56,19 @@
 	private Pattern pathExtensionNoEqualsNoQuestionmarkRegexp;
 
 	// transient Perl5Compiler compiler = new Perl5Compiler();
-	private final static String ARGUMENT_NAME = "argument_name";
+	private final static String ARGUMENT_NAME = "argument_name"; // $NON-NLS-1$
+
+	private final static String PATH_EXTENSION = "path_extension"; // $NON-NLS-1$
 
-	private final static String PATH_EXTENSION = "path_extension";
+	private final static String PATH_EXTENSION_NO_EQUALS = "path_extension_no_equals"; // $NON-NLS-1$
 
-	private final static String PATH_EXTENSION_NO_EQUALS = "path_extension_no_equals";
+	private final static String PATH_EXTENSION_NO_QUESTIONMARK = "path_extension_no_questionmark"; // $NON-NLS-1$
 
-	private final static String PATH_EXTENSION_NO_QUESTIONMARK = "path_extension_no_questionmark";
+    private final static String SHOULD_CACHE = "cache_value"; // $NON-NLS-1$
 
+    // PreProcessors are cloned per-thread, so this will be saved per-thread
+    private String savedValue = ""; // $NON-NLS-1$
+    
 	public void process() {
 		JMeterContext ctx = getThreadContext();
 		Sampler sampler = ctx.getCurrentSampler();
@@ -114,15 +121,23 @@
 			}
 		}
 
+        // Bug 15025 - save session value across samplers
+        if (shouldCache()){
+            if (value == null || value.length() == 0) {
+                value = savedValue;
+            } else {
+                savedValue = value;
+            }
+        }
 		modify((HTTPSamplerBase) sampler, value);
 	}
 
-	private void modify(HTTPSamplerBase sampler, String value) {
+    private void modify(HTTPSamplerBase sampler, String value) {
 		if (isPathExtension()) {
 			if (isPathExtensionNoEquals()) {
-				sampler.setPath(sampler.getPath() + ";" + getArgumentName() + value);
+				sampler.setPath(sampler.getPath() + SEMI_COLON + getArgumentName() + value); // $NON-NLS-1$
 			} else {
-				sampler.setPath(sampler.getPath() + ";" + getArgumentName() + "=" + value);
+				sampler.setPath(sampler.getPath() + SEMI_COLON + getArgumentName() + "=" + value); // $NON-NLS-1$ // $NON-NLS-2$
 			}
 		} else {
 			sampler.getArguments().removeArgument(getArgumentName());
@@ -136,26 +151,36 @@
 
 	private void initRegex(String argName) {
 		pathExtensionEqualsQuestionmarkRegexp = JMeterUtils.getPatternCache().getPattern(
-				";" + argName + "=([^\"'>&\\s;]*)[&\\s\"'>;]?$?",
+				SEMI_COLON + argName + "=([^\"'>&\\s;]*)[&\\s\"'>;]?$?", // $NON-NLS-1$
 				Perl5Compiler.MULTILINE_MASK | Perl5Compiler.READ_ONLY_MASK);
 
 		pathExtensionEqualsNoQuestionmarkRegexp = JMeterUtils.getPatternCache().getPattern(
-				";" + argName + "=([^\"'>&\\s;?]*)[&\\s\"'>;?]?$?",
+				SEMI_COLON + argName + "=([^\"'>&\\s;?]*)[&\\s\"'>;?]?$?", // $NON-NLS-1$
 				Perl5Compiler.MULTILINE_MASK | Perl5Compiler.READ_ONLY_MASK);
 
 		pathExtensionNoEqualsQuestionmarkRegexp = JMeterUtils.getPatternCache().getPattern(
-				";" + argName + "([^\"'>&\\s;]*)[&\\s\"'>;]?$?",
+				SEMI_COLON + argName + "([^\"'>&\\s;]*)[&\\s\"'>;]?$?", // $NON-NLS-1$
 				Perl5Compiler.MULTILINE_MASK | Perl5Compiler.READ_ONLY_MASK);
 
 		pathExtensionNoEqualsNoQuestionmarkRegexp = JMeterUtils.getPatternCache().getPattern(
-				";" + argName + "([^\"'>&\\s;?]*)[&\\s\"'>;?]?$?",
+				SEMI_COLON + argName + "([^\"'>&\\s;?]*)[&\\s\"'>;?]?$?", // $NON-NLS-1$
 				Perl5Compiler.MULTILINE_MASK | Perl5Compiler.READ_ONLY_MASK);
 
 		parameterRegexp = JMeterUtils.getPatternCache().getPattern(
-				"[;\\?&]" + argName + "=([^\"'>&\\s;]*)[&\\s\"'>;]?$?" + "|\\s[Nn][Aa][Mm][Ee]\\s*=\\s*[\"']" + argName
-						+ "[\"']" + "[^>]*" + "\\s[vV][Aa][Ll][Uu][Ee]\\s*=\\s*[\"']" + "([^\"']*)" + "[\"']"
-						+ "|\\s[vV][Aa][Ll][Uu][Ee]\\s*=\\s*[\"']" + "([^\"']*)" + "[\"']" + "[^>]*"
-						+ "\\s[Nn][Aa][Mm][Ee]\\s*=\\s*[\"']" + argName + "[\"']",
+                // ;sessionid=value
+				"[;\\?&]" + argName + "=([^\"'>&\\s;]*)[&\\s\"'>;]?$?" +  // $NON-NLS-1$
+                
+                // name="sessionid" value="value"
+                "|\\s[Nn][Aa][Mm][Ee]\\s*=\\s*[\"']" + argName
+				+ "[\"']" + "[^>]*"  // $NON-NLS-1$ 
+                + "\\s[vV][Aa][Ll][Uu][Ee]\\s*=\\s*[\"']" // $NON-NLS-1$
+                + "([^\"']*)" + "[\"']" // $NON-NLS-1$
+				
+                //  value="value" name="sessionid" 
+                + "|\\s[vV][Aa][Ll][Uu][Ee]\\s*=\\s*[\"']" // $NON-NLS-1$
+                + "([^\"']*)" + "[\"']" + "[^>]*" // $NON-NLS-1$ // $NON-NLS-2$ // $NON-NLS-3$
+				+ "\\s[Nn][Aa][Mm][Ee]\\s*=\\s*[\"']"  // $NON-NLS-1$
+                + argName + "[\"']", // $NON-NLS-1$
 				Perl5Compiler.MULTILINE_MASK | Perl5Compiler.READ_ONLY_MASK);
 		// NOTE: the handling of simple- vs. double-quotes could be formally
 		// more accurate, but I can't imagine a session id containing
@@ -179,6 +204,10 @@
 		setProperty(new BooleanProperty(PATH_EXTENSION_NO_QUESTIONMARK, pathExtNoQuestionmark));
 	}
 
+    public void setShouldCache(boolean b) {
+        setProperty(new BooleanProperty(SHOULD_CACHE, b));
+    }
+
 	public boolean isPathExtension() {
 		return getPropertyAsBoolean(PATH_EXTENSION);
 	}
@@ -190,4 +219,10 @@
 	public boolean isPathExtensionNoQuestionmark() {
 		return getPropertyAsBoolean(PATH_EXTENSION_NO_QUESTIONMARK);
 	}
+    
+    public boolean shouldCache() {
+        return getPropertyAsBoolean(SHOULD_CACHE,true);
+    }
+
+
 }

Modified: jakarta/jmeter/branches/rel-2-1/src/protocol/http/org/apache/jmeter/protocol/http/modifier/gui/URLRewritingModifierGui.java
URL: http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/src/protocol/http/org/apache/jmeter/protocol/http/modifier/gui/URLRewritingModifierGui.java?rev=397346&r1=397345&r2=397346&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-1/src/protocol/http/org/apache/jmeter/protocol/http/modifier/gui/URLRewritingModifierGui.java (original)
+++ jakarta/jmeter/branches/rel-2-1/src/protocol/http/org/apache/jmeter/protocol/http/modifier/gui/URLRewritingModifierGui.java Wed Apr 26 17:09:06 2006
@@ -33,13 +33,15 @@
  * @version $Revision$ last updated $Date$
  */
 public class URLRewritingModifierGui extends AbstractPreProcessorGui {
-	JLabeledTextField argumentName;
+	private JLabeledTextField argumentName;
 
-	JCheckBox pathExt;
+    private JCheckBox pathExt;
 
-	JCheckBox pathExtNoEquals;
+    private JCheckBox pathExtNoEquals;
 
-	JCheckBox pathExtNoQuestionmark;
+    private JCheckBox pathExtNoQuestionmark;
+    
+    private JCheckBox shouldCache;
 
 	public String getLabelResource() {
 		return "http_url_rewriting_modifier_title";
@@ -57,18 +59,22 @@
 
 		VerticalPanel mainPanel = new VerticalPanel();
 
-		argumentName = new JLabeledTextField(JMeterUtils.getResString("session_argument_name"), 10);
+		argumentName = new JLabeledTextField(JMeterUtils.getResString("session_argument_name"), 10); // $NON-NLS-1$
 		mainPanel.add(argumentName);
 
-		pathExt = new JCheckBox(JMeterUtils.getResString("Path_Extension_choice"));
+		pathExt = new JCheckBox(JMeterUtils.getResString("path_extension_choice")); // $NON-NLS-1$
 		mainPanel.add(pathExt);
 
-		pathExtNoEquals = new JCheckBox(JMeterUtils.getResString("path_extension_dont_use_equals"));
+		pathExtNoEquals = new JCheckBox(JMeterUtils.getResString("path_extension_dont_use_equals")); // $NON-NLS-1$
 		mainPanel.add(pathExtNoEquals);
 
-		pathExtNoQuestionmark = new JCheckBox(JMeterUtils.getResString("path_extension_dont_use_questionmark"));
+		pathExtNoQuestionmark = new JCheckBox(JMeterUtils.getResString("path_extension_dont_use_questionmark")); // $NON-NLS-1$
 		mainPanel.add(pathExtNoQuestionmark);
 
+        shouldCache = new JCheckBox(JMeterUtils.getResString("cache_session_id")); // $NON-NLS-1$
+        shouldCache.setSelected(true);
+        mainPanel.add(shouldCache);
+
 		add(mainPanel, BorderLayout.CENTER);
 	}
 
@@ -90,17 +96,21 @@
 	 */
 	public void modifyTestElement(TestElement modifier) {
 		this.configureTestElement(modifier);
-		((URLRewritingModifier) modifier).setArgumentName(argumentName.getText());
-		((URLRewritingModifier) modifier).setPathExtension(pathExt.isSelected());
-		((URLRewritingModifier) modifier).setPathExtensionNoEquals(pathExtNoEquals.isSelected());
-		((URLRewritingModifier) modifier).setPathExtensionNoQuestionmark(pathExtNoQuestionmark.isSelected());
+		URLRewritingModifier rewritingModifier = ((URLRewritingModifier) modifier);
+        rewritingModifier.setArgumentName(argumentName.getText());
+		rewritingModifier.setPathExtension(pathExt.isSelected());
+		rewritingModifier.setPathExtensionNoEquals(pathExtNoEquals.isSelected());
+		rewritingModifier.setPathExtensionNoQuestionmark(pathExtNoQuestionmark.isSelected());
+        rewritingModifier.setShouldCache((shouldCache.isSelected()));
 	}
 
 	public void configure(TestElement el) {
-		argumentName.setText(((URLRewritingModifier) el).getArgumentName());
-		pathExt.setSelected(((URLRewritingModifier) el).isPathExtension());
-		pathExtNoEquals.setSelected(((URLRewritingModifier) el).isPathExtensionNoEquals());
-		pathExtNoQuestionmark.setSelected(((URLRewritingModifier) el).isPathExtensionNoQuestionmark());
+		URLRewritingModifier rewritingModifier = ((URLRewritingModifier) el);
+        argumentName.setText(rewritingModifier.getArgumentName());
+		pathExt.setSelected(rewritingModifier.isPathExtension());
+		pathExtNoEquals.setSelected(rewritingModifier.isPathExtensionNoEquals());
+		pathExtNoQuestionmark.setSelected(rewritingModifier.isPathExtensionNoQuestionmark());
+        shouldCache.setSelected(rewritingModifier.shouldCache());
 
 		super.configure(el);
 	}

Modified: jakarta/jmeter/branches/rel-2-1/test/src/org/apache/jmeter/protocol/http/modifier/TestURLRewritingModifier.java
URL: http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/test/src/org/apache/jmeter/protocol/http/modifier/TestURLRewritingModifier.java?rev=397346&r1=397345&r2=397346&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-1/test/src/org/apache/jmeter/protocol/http/modifier/TestURLRewritingModifier.java (original)
+++ jakarta/jmeter/branches/rel-2-1/test/src/org/apache/jmeter/protocol/http/modifier/TestURLRewritingModifier.java Wed Apr 26 17:09:06 2006
@@ -17,10 +17,9 @@
 
 package org.apache.jmeter.protocol.http.modifier;
 
-import junit.framework.TestCase;
-
 import org.apache.jmeter.config.Argument;
 import org.apache.jmeter.config.Arguments;
+import org.apache.jmeter.junit.JMeterTestCase;
 import org.apache.jmeter.protocol.http.sampler.HTTPNullSampler;
 import org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase;
 import org.apache.jmeter.samplers.NullSampler;
@@ -28,8 +27,9 @@
 import org.apache.jmeter.samplers.Sampler;
 import org.apache.jmeter.threads.JMeterContext;
 import org.apache.jmeter.threads.JMeterContextService;
+import org.apache.jmeter.util.JMeterUtils;
 
-public class TestURLRewritingModifier extends TestCase {
+public class TestURLRewritingModifier extends JMeterTestCase {
 		private SampleResult response = null;
 
 		private JMeterContext context = null;
@@ -134,13 +134,17 @@
 		}
 
 		public void testGrabSessionIdFromForm() throws Exception {
-			String[] html = new String[] { "<input name=\"sid\" value=\"myId\">", "<input name='sid' value='myId'>",
-					"<input value=\"myId\" NAME='sid'>", "<input VALUE='myId' name=\"sid\">",
-					"<input blah blah value=\"myId\" yoda yoda NAME='sid'>", };
+			String[] html = new String[] { 
+                    "<input name=\"sid\" value=\"myId\">", 
+                    "<input name='sid' value='myId'>",
+					"<input value=\"myId\" NAME='sid'>",
+                    "<input VALUE='myId' name=\"sid\">",
+					"<input blah blah value=\"myId\" yoda yoda NAME='sid'>",
+                    };
 			for (int i = 0; i < html.length; i++) {
 				response = new SampleResult();
 				response.setResponseData(html[i].getBytes());
-				URLRewritingModifier newMod = new URLRewritingModifier();
+                URLRewritingModifier newMod = new URLRewritingModifier();
 				newMod.setThreadContext(context);
 				newMod.setArgumentName("sid");
 				newMod.setPathExtension(false);
@@ -149,8 +153,53 @@
 				context.setPreviousResult(response);
 				newMod.process();
 				Arguments args = sampler.getArguments();
-				assertEquals("For case i=" + i, "myId", ((Argument) args.getArguments().get(0).getObjectValue())
-						.getValue());
+				assertEquals("For case i=" + i, "myId", 
+                        ((Argument) args.getArguments().get(0).getObjectValue()).getValue());
 			}
 		}
+
+        public void testCache() throws Exception {
+            String[] html = new String[] { 
+                    "<input name=\"sid\" value=\"myId\">", 
+                    "<html></html>", // No entry; check it is still present
+                    };
+            URLRewritingModifier newMod = new URLRewritingModifier();
+            newMod.setShouldCache(true);
+            newMod.setThreadContext(context);
+            newMod.setArgumentName("sid");
+            newMod.setPathExtension(false);
+            for (int i = 0; i < html.length; i++) {
+                response = new SampleResult();
+                response.setResponseData(html[i].getBytes());
+                HTTPSamplerBase sampler = createSampler();
+                context.setCurrentSampler(sampler);
+                context.setPreviousResult(response);
+                newMod.process();
+                Arguments args = sampler.getArguments();
+                assertEquals("For case i=" + i, "myId", 
+                        ((Argument) args.getArguments().get(0).getObjectValue()).getValue());
+            }
+        }
+        public void testNoCache() throws Exception {
+            String[] html = new String[] { 
+                    "<input name=\"sid\" value=\"myId\">",  "myId",
+                    "<html></html>", "",
+                    };
+            URLRewritingModifier newMod = new URLRewritingModifier();
+            newMod.setThreadContext(context);
+            newMod.setArgumentName("sid");
+            newMod.setPathExtension(false);
+            newMod.setShouldCache(false);
+            for (int i = 0; i < html.length/2; i++) {
+                response = new SampleResult();
+                response.setResponseData(html[i*2].getBytes());
+                HTTPSamplerBase sampler = createSampler();
+                context.setCurrentSampler(sampler);
+                context.setPreviousResult(response);
+                newMod.process();
+                Arguments args = sampler.getArguments();
+                assertEquals("For case i=" + i, html[i*2+1], 
+                        ((Argument) args.getArguments().get(0).getObjectValue()).getValue());
+            }
+        }
 }

Modified: jakarta/jmeter/branches/rel-2-1/xdocs/changes.xml
URL: http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/xdocs/changes.xml?rev=397346&r1=397345&r2=397346&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-1/xdocs/changes.xml (original)
+++ jakarta/jmeter/branches/rel-2-1/xdocs/changes.xml Wed Apr 26 17:09:06 2006
@@ -83,6 +83,7 @@
 <li>New -S option to define system properties from input file</li>
 <li>Bug 26136 - allow configuration of local address</li>
 <li>Expand tree by default when loading a test plan - can be disabled by setting property onload.expandtree=false</li>
+<li>Bug 11843 - URL Rewriter can now cache the session id</li>
 </ul>
 
 <h4>Bug fixes:</h4>

Added: jakarta/jmeter/branches/rel-2-1/xdocs/images/screenshots/url_rewrite_example_b.png
URL: http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/xdocs/images/screenshots/url_rewrite_example_b.png?rev=397346&view=auto
==============================================================================
Binary file - no diff available.

Propchange: jakarta/jmeter/branches/rel-2-1/xdocs/images/screenshots/url_rewrite_example_b.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Modified: jakarta/jmeter/branches/rel-2-1/xdocs/images/screenshots/url_rewriter.png
URL: http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/xdocs/images/screenshots/url_rewriter.png?rev=397346&r1=397345&r2=397346&view=diff
==============================================================================
Binary files - no diff available.

Modified: jakarta/jmeter/branches/rel-2-1/xdocs/usermanual/build-adv-web-test-plan.xml
URL: http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/xdocs/usermanual/build-adv-web-test-plan.xml?rev=397346&r1=397345&r2=397346&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-1/xdocs/usermanual/build-adv-web-test-plan.xml (original)
+++ jakarta/jmeter/branches/rel-2-1/xdocs/usermanual/build-adv-web-test-plan.xml Wed Apr 26 17:09:06 2006
@@ -37,7 +37,10 @@
 <p>To respond correctly to URL rewriting, JMeter needs to parse the HTML
 received from the server and retrieve the unique session ID.  Use the appropriate <complink name="HTTP URL Re-writing Modifier"/>
 to accomplish this.  Simply enter the name of your session ID parameter into the modifier, and it
-will find it and add it to each request.  If the request already has a value, it will be replaced.</p>
+will find it and add it to each request.  If the request already has a value, it will be replaced.
+If "Cache Session Id?" is checked, then the last found session id will be saved,
+and will be used if the previous HTTP sample does not contain a session id.
+</p>
 
 <example title="URL Rewriting Example">
 <p>Download <a href="../demos/URLRewritingExample.jmx">this example</a>. In Figure 1 is shown a 
@@ -47,7 +50,7 @@
 <p>In Figure 2, we see the URL Re-writing modifier GUI, which just has a field for the user to specify
 the name of the session ID parameter.  There is also a checkbox for indicating that the session ID should
 be part of the path (separated by a ";"), rather than a request parameter</p>
-<figure image="url_rewrite_example_b.gif">Figure 2 - Request parameters</figure>
+<figure image="url_rewrite_example_b.png">Figure 2 - Request parameters</figure>
 </example>
 </section>
 

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=397346&r1=397345&r2=397346&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 Wed Apr 26 17:09:06 2006
@@ -2566,6 +2566,9 @@
         a semi-colon plus the session id parameter.  Check this box if that is so.</property>
         <property name="Do not use equals in path extension" required="No">Some web apps rewrite URLs without using an &quot;=&quot; sign between the parameter name and value (such as Intershop Enfinity).</property>
         <property name="Do not use questionmark in path extension" required="No">Prevents the query string to end up in the path extension (such as Intershop Enfinity).</property>
+        <property name="Cache Session Id?" required="Yes">
+        Should the value of the session Id be saved for later use when the session Id is not present?
+        </property>
 </properties>
 </component>
 



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