Hi,

I have a test that tests all the links on a given page by clicking on
them. I use clickLink to click. There is one more piece of logic where
I am checking for a link url pattern and if it matches a given pattern
then I dont want to click on that link more than three times. Reason
for doing this is I have more than 500 links that have the same url
except for some different url params, so I dont want to test them all.
Below is my code and the problem I am facing.


==========================================================

<repeat xpath="//a" counterName="link" description="Click on each link
on the HomePage" >
        
        <storeXPath description="Link Url" xpath="$link/@href" 
property="linkUrl" />
        
        <scriptStep language="groovy">
                def articlePageUrlPattern = /.*ArticlePage\?id=[1-9]+.*/;
                
                try {
                        articlePageCount;
                } catch(e) {
                        articlePageCount = 0;
                }
                
                if( !("#{linkUrl}" ==~ articlePageUrlPattern) ) {
                        step.setWebtestProperty('clickLink', 'true');
                } else {
                        step.setWebtestProperty('clickLink', 'false');
                        
                        articlePageCount++;
                        
                        if(articlePageCount > 3) {
                                step.setWebtestProperty('clickLink', 'false');
                        } else {
                                step.setWebtestProperty('clickLink', 'true');
                        }
                }
                        
        </scriptStep>

        <ifStep test="#{clickLink}">
                <clickLink xpath="$link[@href]" description="#{linkUrl}"/>
                &testForErrorPage;
        </ifStep>
        
        
</repeat>

==========================================================

The problem I am facing:

It always goes in a catch block and sets articlePageCount to zero and
then test ends up testing all the links with that pattern. How do I
solve this problem? It seems link in every iteration of <repeat>,
Groovy code block behaves like it doesnt know what happened in the
previous iternation. I have also tried setting articlePageCount
outside of <repeat> inside of a separate <ScriptStep> Groovy block.
That doesnt work.

Any thoughts? Something I am doing wrong?


-- 
Regards,
Manish Ranade
Phone: 408-596-6546
_______________________________________________
WebTest mailing list
[email protected]
http://lists.canoo.com/mailman/listinfo/webtest

Reply via email to