You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@jmeter.apache.org by sebb <se...@gmail.com> on 2006/02/02 02:35:23 UTC

Re: I need HTTP parameters stored in .jmx file in *unencoded* form. Is this possible?

On 01/02/06, John Bullock <jb...@iqnavigator.com> wrote:
> I construct my test plans without using the JMeter GUI by directly
> constructing .jmx files.  I have just discovered that JMeter assumes that the
> name and value of each HTTP Argument are URL encoded in the XML file.  But I
> have the parameters in their raw, un-encoded form.  Is there a mode or
> setting which can tell JMeter to take the parameter name and value as is,
> without decoding it?

Are you sure it is JMeter that is doing the decoding, and not the XML reader?

There are certain characters that must be encoded when stored in XML.

You could perhaps try experimenting with the [[CDATA tag.

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


Re: I need HTTP parameters stored in .jmx file in *unencoded* form. Is this possible?

Posted by sebb <se...@gmail.com>.
I suggest you use JMeter to create a JMX file and work back from that.

On 02/02/06, John Bullock <jb...@iqnavigator.com> wrote:
> I am pretty sure it is JMeter.  The example that I am working on is a
> parameter whose value is a base64-encoded block of text.  For example:
>
> <property name="Argument.value"
> propType="org.apache.jmeter.testelement.property.StringProperty">
> PEFzc2VydGlvbiB4bWxucz0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6MS4wOmFzc2VydGlvbiIg
> QXNzZXJ0aW9uSUQ9IkEzOTEzZmM0YzJkZDc5ODg0MjNiMWFiZTQyNzY2MzkzNyIgSXNzdWVJbnN0
> YW50PSIyMDA1LTEyLTEyVDE5OjIxOjMzWiIgSXNzdWVyPSJjYWxkYXAwMS5jYS5hbGNhdGVsLmNv
> bSIgTWFqb3JWZXJzaW9uPSIxIiBNaW5vclZlcnNpb249IjEiPgo8Q29uZGl0aW9ucyBOb3RCZWZv
> cmU9IjIwMDUtMTItMTJUMTk6MjE6MzNaIiBOb3RPbk9yQWZ0ZXI9IjIwMDUtMTItMTJUMTk6MzE6
> MzNaIj48L0NvbmRpdGlvbnM+CjxBdXRoZW50aWNhdGlvblN0YXRlbWVudCBBdXRoZW50aWNhdGlv
> </property>
>
> Opening the .jmx file in the GUI shows this parameter value correctly.  But
> during the jmeter run, when the POST containing this parameter hits the
> server, the parameter value has a space where the "+" was.
>
> I don't typically use the GUI, so am not very familiar with it.  But now I am
> experimenting with defining various http parameters with and without spaces,
> and with and without the "encode?" checkbox selected.  It isn't clear to me
> at all what effect the "always_encode" property has on HTTPArgument.  These
> experiments leave me even more confused, since parameters with spaces are
> faithfully recorded in the jmx file.
>
> The URLEncoder represents spaces as '+', and an HTTPArgument supports its name
> and value in both encoded and non-encoded modes.  So this is where I am
> focusing my efforts.  I have been looking at the jmeter sources but haven't
> figured out yet when encoding / decoding occurs and what is different between
> GET and POST requests.  But I think the troubles may be there.
>
> Does anyone have a suggestion for a way to debug this?
>
> On Wednesday 01 February 2006 06:35 pm, sebb wrote:
> > On 01/02/06, John Bullock <jb...@iqnavigator.com> wrote:
> > > I construct my test plans without using the JMeter GUI by directly
> > > constructing .jmx files.  I have just discovered that JMeter assumes that
> > > the name and value of each HTTP Argument are URL encoded in the XML file.
> > >  But I have the parameters in their raw, un-encoded form.  Is there a
> > > mode or setting which can tell JMeter to take the parameter name and
> > > value as is, without decoding it?
> >
> > Are you sure it is JMeter that is doing the decoding, and not the XML
> > reader?
> >
> > There are certain characters that must be encoded when stored in XML.
> >
> > You could perhaps try experimenting with the [[CDATA tag.
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
>
> --
> John Bullock
> IQNavigator
> 303-563-1501
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
>
>

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


Re: I need HTTP parameters stored in .jmx file in *unencoded* form. Is this possible?

Posted by John Bullock <jb...@iqnavigator.com>.
I am pretty sure it is JMeter.  The example that I am working on is a 
parameter whose value is a base64-encoded block of text.  For example:

<property name="Argument.value" 
propType="org.apache.jmeter.testelement.property.StringProperty">
PEFzc2VydGlvbiB4bWxucz0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6MS4wOmFzc2VydGlvbiIg
QXNzZXJ0aW9uSUQ9IkEzOTEzZmM0YzJkZDc5ODg0MjNiMWFiZTQyNzY2MzkzNyIgSXNzdWVJbnN0
YW50PSIyMDA1LTEyLTEyVDE5OjIxOjMzWiIgSXNzdWVyPSJjYWxkYXAwMS5jYS5hbGNhdGVsLmNv
bSIgTWFqb3JWZXJzaW9uPSIxIiBNaW5vclZlcnNpb249IjEiPgo8Q29uZGl0aW9ucyBOb3RCZWZv
cmU9IjIwMDUtMTItMTJUMTk6MjE6MzNaIiBOb3RPbk9yQWZ0ZXI9IjIwMDUtMTItMTJUMTk6MzE6
MzNaIj48L0NvbmRpdGlvbnM+CjxBdXRoZW50aWNhdGlvblN0YXRlbWVudCBBdXRoZW50aWNhdGlv
</property>

Opening the .jmx file in the GUI shows this parameter value correctly.  But 
during the jmeter run, when the POST containing this parameter hits the 
server, the parameter value has a space where the "+" was.

I don't typically use the GUI, so am not very familiar with it.  But now I am 
experimenting with defining various http parameters with and without spaces, 
and with and without the "encode?" checkbox selected.  It isn't clear to me 
at all what effect the "always_encode" property has on HTTPArgument.  These 
experiments leave me even more confused, since parameters with spaces are 
faithfully recorded in the jmx file.

The URLEncoder represents spaces as '+', and an HTTPArgument supports its name 
and value in both encoded and non-encoded modes.  So this is where I am 
focusing my efforts.  I have been looking at the jmeter sources but haven't 
figured out yet when encoding / decoding occurs and what is different between 
GET and POST requests.  But I think the troubles may be there.

Does anyone have a suggestion for a way to debug this?  
  
On Wednesday 01 February 2006 06:35 pm, sebb wrote:
> On 01/02/06, John Bullock <jb...@iqnavigator.com> wrote:
> > I construct my test plans without using the JMeter GUI by directly
> > constructing .jmx files.  I have just discovered that JMeter assumes that
> > the name and value of each HTTP Argument are URL encoded in the XML file.
> >  But I have the parameters in their raw, un-encoded form.  Is there a
> > mode or setting which can tell JMeter to take the parameter name and
> > value as is, without decoding it?
>
> Are you sure it is JMeter that is doing the decoding, and not the XML
> reader?
>
> There are certain characters that must be encoded when stored in XML.
>
> You could perhaps try experimenting with the [[CDATA tag.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: jmeter-user-help@jakarta.apache.org

-- 
John Bullock
IQNavigator
303-563-1501


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