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]