On 16/10/2008, Anthony Chadszinow <[EMAIL PROTECTED]> wrote:
> Hi,
>
>  Sorry, I've cleaned up my email and hope you can see where I'm coming from
> now.
>
>  "What are you trying to achieve ?" - In a product I writing tests for a
> processing popup opens and I need a loop to follow that popups progress.
> The samplers following the popups progress should terminate the loop once
> the popup tells me it should.  I can tell the loop should terminate because
> while the popup should continue a piece of content is in it.  Once the popup
> should terminate that content is gone.  So in practice, if the reg exp finds
> a result which equals to what I was looking for in the loop then loop should
> continue but if it's not found the loop should terminate.  The example I
> presented reflected the same sort of base actions I'm performing however I
> presented the example in a way that everyone could test if they wanted by
> using www.google.com as my test case and modifying my reg expressions.
> Since I'm still getting the same problem with my test case I believe if you
> help me with my test case then it will address my real case.
>
>  "No need for dummy parameter if you are using JMeter 2.3.2" - I'm actually
> using a nightly build but before emailing for help I tested this on 2.3.2 to
> see if I would get the same problem on the stable release.  Is there no need
> for dummy variable if I'm using a jmeter with a higher version than 2.3.2?
> The manual said I needed dummy which is why I put it in there in the first
> place
> http://jakarta.apache.org/jmeter/usermanual/component_reference.html#logic_controllers
> section '18.2.10 While Controller' in the examples of Condition clauses.
>
>  ""while ${moo} is equal to" seems to be something missing here ???" -
> Sorry, I meant to say while ${moo} is equal to "Business" keep going.  If
> you give my reg exp a try on www.google.com you would see that <a
> href="/services/">(.*?) Solutions</a> returns "Business" so the first
> sampler sets the variable to something which will make the loop go and then
> the internal reg expression is meant to set the variable to something other
> than "Business" which should terminate the loop.
>
>  "Better to use a Debug Sampler, or a Java Request so you don't make
> unnecessary HTTP requests.", "What do you mean by that?" - Thanks, I've now
> worked out I've been using the debug sampler wrong.  I was always putting it
> at the bottom of my test plans but now I see you can drop any number of
> debug samplers anywhere.  This was quite a noob mistake when I look back at
> it.  I've modified my test case such that it looks like as follows now
>
>   1. View Results Tree
>   2. Http Sampler getting www.google.com
>   3. Child of above sampler - Reg Exp Extractor with settings Ref
>      name=moo, reg exp=<a href="/services/">(.*?) Solutions</a>,
>      template=$1$, match no=1, def val=not_found
>   4. Debug Sampler
>   5. While loop with settings
>      condition=${__javaScript("${moo}"=="Business")} so
> loop while
>      ${moo} is equal to "Business" then continue looping
>   6. Child of loop - Http sampler getting www.google.com
>   7. Child of above Http sampler - Reg Exp Extractor with settings Ref
>      name=moo, reg
> exp=content_that_wont_be_here(.*)no_not_at_all,
>      template=$1$, match no=1, def val=not_found
>   8. Child of loop - Debug Sampler
>
>  At debug sampler #4 ${moo} = "Business" as expected and the loop is
> entered. At debug sampler #8 ${moo} = "not_found" however my loop never
> terminates.
>
>  So in the end I still have my same problem which is an infinite loop.  I'm
> now suspecting this is a variable scoping issue and that the reg exp in the
> loop cannot effect the variables value at the loops Condition scope level.
> If this is the case how can I do this example in another way to achieve what
> I'm after?

The Debug sampler output will show that it is not a variable scoping issue.

There seems to be a problem with the While Controller not
re-evaluating the condition properly. Not sure why this is yet.

Try setting the default value to "false" in step #7, and using the
condition "${moo}" in step #5 (in both cases remove the quotes).

>  Cheers,
>  Chad
>
>  sebb wrote:
>
> >
> > On 16/10/2008, Anthony Chadszinow <[EMAIL PROTECTED]> wrote:
> >
> >
> > > Hi,
> > >
> > >  I've had trouble with a while loop so I built a dumbed down example of
> what
> > > I'm really doing to explain my infinite loop problem.  Feel free to
> build
> > > this yourself because there's only 6 operators.
> > >
> > >
> >
> > What are you trying to achieve ?
> >
> >
> >
> > >  In thread group I have -
> > >
> > >  1. View Results Tree
> > >  2. Http Sampler getting www.google.com
> > >  3. Child of above sampler - Reg Exp Extrator with settings Ref
> > >     name=moo, reg exp=<a href="/services/">(.*?) Solutions</a>,
> > >     template=$1$, match no=1, def val=not_found
> > >  4. While loop with settings
> > >
> condition=${__javaScript("${moo}"=="Business",dummy)}
> > >
> > >
> >
> > No need for dummy parameter if you are using JMeter 2.3.2
> >
> >
> >
> > > so loop
> > >     while ${moo} is equal to
> > >
> > >
> >
> > seems to be something missing here ???
> >
> >
> >
> > >  5. Child of loop - Http sampler getting www.google.com with get var
> > >     moo_is=${moo} <--- to expose what moo is at any point in time
> > >
> > >
> >
> > Better to use a Debug Sampler, or a Java Request so you don't make
> > unnecessary HTTP requests.
> >
> >
> >
> > >  6. Child of above Http sampler - Reg Exp Extractor with settings Ref
> > >     name=moo, reg
> > > exp=content_that_wont_be_here(.*)no_not_at_all,
> > >     template=$1$, match no=1, def val=not_found
> > >
> > >  No debug sampler because it's infinite so I have to kill processes and
> > > debug sampler never comes up anyway.
> > >
> > >
> >
> > What do you mean by that?
> >
> >
> >
> > >  So the point of operator #6 is it's going to set ${moo}to not found
> after
> > > the first iteration because the reg expression will never match and it
> does
> > > this as expected.  This is proved by view results tree 'Request' tab.
> On
> > > the first iteration of the loop the google request get var 'moo_is' has
> the
> > > value "Business" which is why the loop iterates at least once just as it
> > > should.  All requests that follow have 'moo_is' equal to "not_found"
> which
> > > is what I expect however my loop never stops.  What am I doing wrong
> here?
> > >
> > >  Cheers,
> > >  Chad
> > >
> > >  --
> > >  Anthony Chadszinow
> > >  MySource Classic Lead Developer
> > >
> > >  Squiz
> > >  92 Jarrett St Leichhardt, Sydney NSW, Australia 2040 t:    13000 SQUIZ
> (
> > > Support )
> > >  t:    8507 9900 / 1300 130 661
> > >  f:    8507 9988
> > >  w:    www.matrix.squiz.net
> > >  w:    www.squiz.net
> > >
> > >  Sydney  |  Melbourne  |  Canberra  |  Hobart  |  Wellington  |  London
> > >  Open Source  - Own it  -  Squiz.net
> > >  ----------------------------------------------------
> > >
> > >  IMPORTANT:This email (and any attachments) is commercial-in-confidence
> and
> > >  or may be legally privileged and must not be forwarded, copied or
> shared
> > >  without express permission from Squiz. If you are not the intended
> > >  recipient, you may not legally copy, disclose or use the contents in
> any
> > > way
> > >  and you should contact [EMAIL PROTECTED] immediately and destroy this
> message
> > > and any
> > >  attachments. Thank you.
> > >
> > >
> > >
> > >
> >
> >
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> [EMAIL PROTECTED]
> > For additional commands, e-mail:
> [EMAIL PROTECTED]
> >
> >
> >
> >
>
>  --
>  Anthony Chadszinow
>  MySource Classic Lead Developer
>
>  Squiz
>  92 Jarrett St Leichhardt, Sydney NSW, Australia 2040 t:    13000 SQUIZ (
> Support )
>  t:    8507 9900 / 1300 130 661
>  f:    8507 9988
>  w:    www.matrix.squiz.net
>  w:    www.squiz.net
>
>  Sydney  |  Melbourne  |  Canberra  |  Hobart  |  Wellington  |  London
>  Open Source  - Own it  -  Squiz.net
>  ----------------------------------------------------
>
>  IMPORTANT:This email (and any attachments) is commercial-in-confidence and
>  or may be legally privileged and must not be forwarded, copied or shared
>  without express permission from Squiz. If you are not the intended
>  recipient, you may not legally copy, disclose or use the contents in any
> way
>  and you should contact [EMAIL PROTECTED] immediately and destroy this message
> and any
>  attachments. Thank you.
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to