You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by pm...@apache.org on 2014/07/19 22:30:58 UTC
svn commit: r1611959 - in /jmeter/trunk:
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/protocol/http/modifier...
Author: pmouawad
Date: Sat Jul 19 20:30:58 2014
New Revision: 1611959
URL: http://svn.apache.org/r1611959
Log:
Bug 41319 - URLRewritingModifier : Allow Parameter value to be url encoded
Bugzilla Id: 41319
Modified:
jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties
jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/modifier/URLRewritingModifier.java
jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/modifier/gui/URLRewritingModifierGui.java
jmeter/trunk/test/src/org/apache/jmeter/protocol/http/modifier/TestURLRewritingModifier.java
jmeter/trunk/xdocs/changes.xml
jmeter/trunk/xdocs/usermanual/component_reference.xml
Modified: jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties?rev=1611959&r1=1611958&r2=1611959&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties Sat Jul 19 20:30:58 2014
@@ -260,6 +260,7 @@ edit=Edit
email_results_title=Email Results
en=English
enable=Enable
+encode=URL Encode
encode?=Encode?
encoded_value=URL Encoded Value
endtime=End Time
Modified: jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties?rev=1611959&r1=1611958&r2=1611959&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties Sat Jul 19 20:30:58 2014
@@ -254,6 +254,7 @@ edit=Editer
email_results_title=R\u00E9sultat d'email
en=Anglais
enable=Activer
+encode=URL Encoder
encode?=Encodage
encoded_value=Valeur de l'URL encod\u00E9e
endtime=Date et heure de fin \:
Modified: jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/modifier/URLRewritingModifier.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/modifier/URLRewritingModifier.java?rev=1611959&r1=1611958&r2=1611959&view=diff
==============================================================================
--- jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/modifier/URLRewritingModifier.java (original)
+++ jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/modifier/URLRewritingModifier.java Sat Jul 19 20:30:58 2014
@@ -63,6 +63,8 @@ public class URLRewritingModifier extend
private static final String SHOULD_CACHE = "cache_value"; // $NON-NLS-1$
+ private static final String ENCODE = "encode"; // $NON-NLS-1$
+
// PreProcessors are cloned per-thread, so this will be saved per-thread
private transient String savedValue = ""; // $NON-NLS-1$
@@ -137,7 +139,7 @@ public class URLRewritingModifier extend
}
} else {
sampler.getArguments().removeArgument(getArgumentName());
- sampler.getArguments().addArgument(new HTTPArgument(getArgumentName(), value, true));
+ sampler.getArguments().addArgument(new HTTPArgument(getArgumentName(), value, !encode()));
}
}
@@ -225,4 +227,12 @@ public class URLRewritingModifier extend
savedValue = "";
return this;
}
+
+ public boolean encode() {
+ return getPropertyAsBoolean(ENCODE, false);
+ }
+ public void setEncode(boolean b) {
+ setProperty(new BooleanProperty(ENCODE, b));
+ }
+
}
Modified: jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/modifier/gui/URLRewritingModifierGui.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/modifier/gui/URLRewritingModifierGui.java?rev=1611959&r1=1611958&r2=1611959&view=diff
==============================================================================
--- jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/modifier/gui/URLRewritingModifierGui.java (original)
+++ jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/modifier/gui/URLRewritingModifierGui.java Sat Jul 19 20:30:58 2014
@@ -42,6 +42,8 @@ public class URLRewritingModifierGui ext
private JCheckBox shouldCache;
+ private JCheckBox encode;
+
@Override
public String getLabelResource() {
return "http_url_rewriting_modifier_title"; // $NON-NLS-1$
@@ -75,6 +77,10 @@ public class URLRewritingModifierGui ext
shouldCache.setSelected(true);
mainPanel.add(shouldCache);
+ encode = new JCheckBox(JMeterUtils.getResString("encode")); // $NON-NLS-1$
+ encode.setSelected(false);
+ mainPanel.add(encode);
+
add(mainPanel, BorderLayout.CENTER);
}
@@ -102,6 +108,7 @@ public class URLRewritingModifierGui ext
rewritingModifier.setPathExtensionNoEquals(pathExtNoEquals.isSelected());
rewritingModifier.setPathExtensionNoQuestionmark(pathExtNoQuestionmark.isSelected());
rewritingModifier.setShouldCache((shouldCache.isSelected()));
+ rewritingModifier.setEncode(encode.isSelected());
}
/**
@@ -116,6 +123,7 @@ public class URLRewritingModifierGui ext
pathExtNoEquals.setSelected(false);
pathExtNoQuestionmark.setSelected(false);
shouldCache.setSelected(false);
+ encode.setSelected(false);
}
/**
@@ -129,7 +137,7 @@ public class URLRewritingModifierGui ext
pathExtNoEquals.setSelected(rewritingModifier.isPathExtensionNoEquals());
pathExtNoQuestionmark.setSelected(rewritingModifier.isPathExtensionNoQuestionmark());
shouldCache.setSelected(rewritingModifier.shouldCache());
-
+ encode.setSelected(rewritingModifier.encode());
super.configure(el);
}
}
Modified: jmeter/trunk/test/src/org/apache/jmeter/protocol/http/modifier/TestURLRewritingModifier.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/test/src/org/apache/jmeter/protocol/http/modifier/TestURLRewritingModifier.java?rev=1611959&r1=1611958&r2=1611959&view=diff
==============================================================================
--- jmeter/trunk/test/src/org/apache/jmeter/protocol/http/modifier/TestURLRewritingModifier.java (original)
+++ jmeter/trunk/test/src/org/apache/jmeter/protocol/http/modifier/TestURLRewritingModifier.java Sat Jul 19 20:30:58 2014
@@ -106,6 +106,42 @@ public class TestURLRewritingModifier ex
Arguments args = sampler.getArguments();
assertEquals("jfdkjdkfjddkfdfjkdjfdf", ((Argument) args.getArguments().get(0).getObjectValue()).getValue());
}
+
+ public void testGrabSessionId6() throws Exception {
+ String html = "location: http://server.com/index.html" + "?session_id=bonjour+monsieur";
+ response = new SampleResult();
+ response.setResponseData(html, null);
+ mod.setArgumentName("session_id");
+ HTTPSamplerBase sampler = createSampler();
+ sampler.addArgument("session_id", "adfasdfdsafasdfasd");
+ context.setCurrentSampler(sampler);
+ context.setPreviousResult(response);
+ mod.process();
+ Arguments args = sampler.getArguments();
+ assertEquals("bonjour+monsieur", ((Argument) args.getArguments().get(0).getObjectValue())
+ .getValue());
+ assertEquals("http://server.com/index.html?" + "session_id=bonjour+monsieur", sampler.toString());
+ }
+
+ public void testGrabSessionId7() throws Exception {
+ String html = "location: http://server.com/index.html" + "?session_id=bonjour+monsieur";
+ response = new SampleResult();
+ response.setResponseData(html, null);
+ mod.setArgumentName("session_id");
+ mod.setEncode(true);
+ HTTPSamplerBase sampler = createSampler();
+ sampler.addArgument("session_id", "adfasdfdsafasdfasd");
+ context.setCurrentSampler(sampler);
+ context.setPreviousResult(response);
+ mod.process();
+ Arguments args = sampler.getArguments();
+ System.out.println(((Argument) args.getArguments().get(0).getObjectValue())
+ .getValue());
+ System.out.println(sampler.toString());
+ assertEquals("bonjour+monsieur", ((Argument) args.getArguments().get(0).getObjectValue())
+ .getValue());
+ assertEquals("http://server.com/index.html?" + "session_id=bonjour%2Bmonsieur", sampler.toString());
+ }
public void testGrabSessionIdFromXMLNonPatExtension() throws Exception { // Bug 50286
String html = "<url>/some/path;jsessionid=123456789</url>";
Modified: jmeter/trunk/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1611959&r1=1611958&r2=1611959&view=diff
==============================================================================
--- jmeter/trunk/xdocs/changes.xml (original)
+++ jmeter/trunk/xdocs/changes.xml Sat Jul 19 20:30:58 2014
@@ -157,6 +157,7 @@ A workaround is to use a Java 7 update 4
<ul>
<li><bugzilla>56162</bugzilla> - HTTP Cache Manager should not cache PUT/POST etc.</li>
<li><bugzilla>56227</bugzilla> - AssertionGUI : NPE in assertion on mouse selection</li>
+<li><bugzilla>41319</bugzilla> - URLRewritingModifier : Allow Parameter value to be url encoded</li>
</ul>
<h3>Functions</h3>
Modified: jmeter/trunk/xdocs/usermanual/component_reference.xml
URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/usermanual/component_reference.xml?rev=1611959&r1=1611958&r2=1611959&view=diff
==============================================================================
--- jmeter/trunk/xdocs/usermanual/component_reference.xml (original)
+++ jmeter/trunk/xdocs/usermanual/component_reference.xml Sat Jul 19 20:30:58 2014
@@ -4968,6 +4968,9 @@ Clever users will even determine that th
<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>
+ <property name="URL Encode" required="No">
+ URL Encode value when writing parameter
+ </property>
</properties>
<note>