La liste de diffusion est fermée depuis juillet 2022, mais sert toujours d'archive d'informations sur QF-Test.
Cependant, si vous souhaitez rester informé des nouveautés concernant QF-Test, vous pouvez simplement vous
abonner à la newsletter
our obtenir des informations à jour sur chaque version - y compris les versions mineures - vous pouvez
nous pouvez vous abonner au flux RSS ou nous suivre sur les médias sociaux.
Alternativement, QF-Test fournit également des informations sur la version elle-même.
Une autre source d'information est notre blog, qui contient des articles actuels sur des thèmes généraux, sur l'entreprise QFS et aussi divers "how-tos", veuillez vous
ABonner au Blog
[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
|