The mailing list has been closed since July 2022, but continues to serve as an archive of information about QF-Test.
If you want to stay informed about news about QF-Test, you can simply subscribe to our newsletter:
Subscribe to Newsletter
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [QF-Test] How to nicely iterate all DomNode such as Table Collection
Thanks for your help Martin May I share Approach# 3 - Class index of Component - In the component defined to the div element matching "class"="item" -> Set a variable into the "Class Index" structure field (e.g. input "$(myIndex)" into "Class Index" field) - Now back in the Test Case node add a "loop node" - in loop Node set "myIndex" variable into the "Iteration counter" field - within the previous loop node, insert a "Fetch text" node or any "check node" where "Component id" is set to that component defined to the div element matching "class"="item" - the loop now iterates all div child
elements This approach may required less Jython/Groovy programming for Business testers with less technical skills NOTE that you could set the "Number Of Iterations" of the loop node via SUT Script. Something like: node = rc.getComponent("COMPONENT-ID-OF-DIV-ELEMENT") children = node.getChildren() rc.setGlobal("myNumIterationVariable", len(children)) Le Jeudi 27 février 2014 14h09, Gwenael Plantefeve <gwen0504@?.com> a écrit : Thanks for your help. Approach works fine, even thought I was expecting to avoid scripting to iterate div elements. Le Mercredi 26 février 2014 14h30, Martin Moser <martin.moser@?.de> a écrit : Hi Gwen, there are several ways for doing this: 1) Approach 1 - Simlpe SUT script: You can record a click on the DIV element with the class list. Afterwards you can use a SUT-script (Insert node -> Control structures -> SUT script) like this: node = rc.getComponent("COMPONENT-ID-OF-DIV-ELEMENT") children = node.getChildren() for child in children: if child.getAttribute("class") == "item": #asserts on child 2.) Approach 2 - Use CustomResolver and SUT script: A more elegant approach could be that you tell QF-Test that a web object with the attribute class="list" should act as list. Therefore call the procedure "qfs.web.ajax.installCustomWebResolver" from the standard library qfs.qft. There you specify the argument "goodClasses" and set "item,list" as value. Afterwards you record a click at the object with the list again and insert a SUT-script, but with following code: node = rc.getComponent("COMPONENT-ID-OF-DIV-ELEMENT") children = node.getElementsByClassName("item") for child in children: #asserts on child Best Regards, Martin --On Dienstag, Februar 25, 2014 10:58:42 +0000 Gwenael Plantefeve <gwen0504@?.com> wrote: > Hi, > > In Web testing, I have the following Web page structure: > ... > > <div class="list"> > <div class="item">value1</div> > <div class="item">value2</div> > <div class="item">value3</div> > <div class="item">value4</div> > </div> > ... > > > I would like to iterate all div elements with same class name (here > class="item"). And do some asserts on value of each div element. > > > What is the best way to handle this? > > Thanks in advance for your help > > Gwen -- Martin Moser Development & Support E: martin.moser@?.de T: +49 (0)8171 38648-14 F: +49 (0)8171 38648-16 Quality First Software GmbH | www.qfs.de Tulpenstr. 41 | 82538 Geretsried | Germany GF Gregor Schmid, Karlheinz Kellerer HRB München 140833
|
1. Functional cookies
We use functional cookies to ensure the basic functionality of the website.
2. Performance and statistic cookies
We use Matomo for analyzing and optimizing our website. Cookies permit an anonymous collection of information that help us offering you a clear and user-friendly visit of our web pages.
This cookie contains a unique, pseudonymized visitor ID internal to Matomo for recognizing returning visitors.
This cookie is used to track from which website the anonymized user proceeded to our website.
The Matomo session cookie is used to track the visitor's page requests during the session.
is created and should be then directly deleted (used to check whether the visitor’s browser supports cookies).
short lived cookies used to temporarily store data for the visit.
short lived cookies used to temporarily store data for the visit.