HI Deepak. Thanks for helping me with this problem. I've attached a minimal
test JMX; what am I doing wrong?



On Mon, Nov 9, 2009 at 7:04 PM, Deepak Shetty <[email protected]> wrote:

> Hi
> Im not sure how you are doing this, it works fine for me
> ThreadGroup
> +HTTPRequest(POST)
> ++<NO NAME> ,
>
> a=b&d49c8919-36d2-4825-b739-ff10752f3ede_1=efa5f43d-395e-4c92-9579-bc4215b0773c&f855d8c6-9cd8-419e-836e-59ad55565dab_1=1c40bc35-86f8-4e30-aa5c-2efb7284c4e2&bd5b9945-3c29-4c81-b890-e782f2385471_1=dd78cbb0-2d00-48af-aa77-6a3b1af8bd15&
> , Uncheck Encode parameters.
>
> Value in View Result Tree
>
> POST data:
>
> a=b&d49c8919-36d2-4825-b739-ff10752f3ede_1=efa5f43d-395e-4c92-9579-bc4215b0773c&f855d8c6-9cd8-419e-836e-59ad55565dab_1=1c40bc35-86f8-4e30-aa5c-2efb7284c4e2&bd5b9945-3c29-4c81-b890-e782f2385471_1=dd78cbb0-2d00-48af-aa77-6a3b1af8bd15&
>
> regards
> deepak
>
>
> On Mon, Nov 9, 2009 at 9:49 AM, Richard Gaywood <[email protected]
> >wrote:
>
> > Hi Deepak! Thanks for your response.
> >
> > To clarify what I'm doing: my source page contains a number of tags like
> > this:
> >
> > <input value="a7684624-aa9d-4bdd-be3c-97e8d67485d4"
> > name="0eeaaef9-d725-4608-bcbb-6e4e55af41d3_1" type="radio" id="[snip]"
> > CssClass="rdbtn" GroupName="0eeaaef9-d725-4608-bcbb-6e4e55af41d3_1"
> > checked="checked" />
> >
> > I am grabbing them with this regexp:
> >
> > <input
> >
> >
> value="([a-z0-9A-Z]{8}-[a-z0-9A-Z]{4}-[a-z0-9A-Z]{4}-[a-z0-9A-Z]{4}-[a-z0-9A-Z]{12})"
> >
> >
> name="([a-z0-9A-Z]{8}-[a-z0-9A-Z]{4}-[a-z0-9A-Z]{4}-[a-z0-9A-Z]{4}-[a-z0-9A-Z]{12}_1)".*?checked="checked"
> >
> > and then using a ForEach controller and a beanshell sampler to build the
> > following string contained in a JMeter variable:
> >
> >
> >
> d49c8919-36d2-4825-b739-ff10752f3ede_1=efa5f43d-395e-4c92-9579-bc4215b0773c&f855d8c6-9cd8-419e-836e-59ad55565dab_1=1c40bc35-86f8-4e30-aa5c-2efb7284c4e2&bd5b9945-3c29-4c81-b890-e782f2385471_1=dd78cbb0-2d00-48af-aa77-6a3b1af8bd15&
> > [etc etc]
> >
> > This string contains the = and & signs you would expect to see in a POST
> > body. But when JMeter sends this, it URI encodes those characters, so it
> > ends up sending:
> >
> >
> >
> a602b71a-95ab-4046-8b24-8454a6d8a295_1%3Dc8635002-86a7-4841-9d8d-68bd375b1236%26b212fb47-6261-4f74-b8bc-8c7b331ed21a_1%3D4bba8a26-5542-43ef-b8e3-f57a0e95d7b7%26a3cdbda4-ea65-4a0a-95b0-99b94fb782de_1
> > [etc etc]
> >
> > Note that & has become %26 and = has become %3D. Then, of course, the web
> > service I'm calling doesn't seen all those name=value pairs, it just sees
> a
> > single parameter. This happens when the "encode?" tickbox on the
> > HTTPRequest
> > is ticked _or_ unticked.
> >
> > On Mon, Nov 9, 2009 at 5:14 PM, Deepak Shetty <[email protected]> wrote:
> >
> > > Hi
> > > a. When you say URL encode do you mean the %nn for non ascii characters
> > or
> > > the & encoded as &amp; (because these are HTML encoded to escape & and
> > need
> > > to be dealt with differently).
> > > What does the source actually have? If the source html on which you are
> > > running your regex to extract data , is already encoded , then checking
> > or
> > > unchecking the checkbox will appear to have to no effect (it might get
> > > double encoded). can you add Debug samplers to check whether the data
> you
> > > are extracting out is correct or already encoded?
> > > b. Checking or Unchecking the encode value does work, you can try it
> > > standalone with a hardcoded string which has special characters like =
> or
> > +
> > >
> > > regards
> > > deepak
> > >
> > >
> > > On Mon, Nov 9, 2009 at 6:51 AM, Richard Gaywood <
> > [email protected]
> > > >wrote:
> > >
> > > > Hi list! Encountered a problem with JMeter (v2.3.4) that I cannot
> find
> > a
> > > > workaround for. Hoping someone has a suggestion I've overlooked.
> > > >
> > > > I have a complicated HTTP POST request (70+ parameters, with a number
> > of
> > > > variable substitutions). I've coded it up but encountered a problem
> > with
> > > > eleven parameters that were just GUID name/value pairings. Some work
> > with
> > > a
> > > > regular expression extractor, a Beanshell sampler, and a ForEach
> > > controller
> > > > has constructed these into a single JMeter variable with the usual
> > > > "name=value&name=value&name=value&" (etc) structure.
> > > >
> > > > My problem is, JMeter is insisting in URL encoding the JMeter
> variable
> > > > contents when I put it in the "send parameters with the request"
> > section,
> > > > regardless of how I tick or untick the "encode?" column. I found this
> > old
> > > > post by sebb:
> > > >
> > > > On Mon, Oct 8, 2007 at 7:40 PM, sebb <[email protected]> wrote:
> > > >
> > > >> OK, in that case I think there is a work-round.
> > > >>
> > > >> If you use parameters with values but *no names*, then HttpClient
> (and
> > > >> Java http) will include the values in the POST body as is with no
> > > >> encoding or equals signs.
> > > >>
> > > >> (This does not appear to be documented anywhere ... oops!)
> > > >>
> > > >
> > > > But this only seems to work when I only have one single line in the
> > > request
> > > > parameters config. As soon as I mix the workaround with normally
> > encoded
> > > > parameters, JMeter stops working. See my screenshot -- where I set
> two
> > > > parameters; the first a JMeter variable containing the string
> > > > "name=value&spam=eggs" and the other a normal parameter with name
> "ham"
> > > and
> > > > value "green". When I hit send, the POST parameters look like:
> > > >         POST data:
> > > >         ham=green
> > > > ...with no mention of the other two parameters.
> > > >
> > > > So... is there a workaround for this? Or do I need to manually URL
> > encode
> > > > my 60-odd parameters and put them all in a single Value box of my
> > > > HTTPClient?
> > > >
> > > >
> > > >
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: [email protected]
> > > > For additional commands, e-mail: [email protected]
> > > >
> > >
> >
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to