Handbuch

43.1.1
Die abstrakte Klasse Node

Alle Klassen von QF-Test's pseudo DOM API sind von dieser Klasse abgeleitet und implementieren damit das folgende Interface. Die Klasse befindet sich im Package de.qfs.apps.qftest.client.web.dom.

 
 
String getNodeType()
Liefert einen Bezeichner für die Art des Knotens. Diese Methode ist zwar nicht ganz im Sinne einer puristischen OO Doktrin, beim Traversieren des DOM aber sehr praktisch, um ohne Aufwand die Art des jeweiligen Knotens zu bestimmen.
Rückgabewert Ein String der die Art des Knoten angibt. Die zugehörigen Konstanten sind in den konkreten Unterklassen definiert:DocumentNode.DOCUMENT_NODE, FrameNode.FRAME_NODE, DomNode.DOM_NODE und DialogNode.DIALOG_NODE.
 
String getName()
Liefert den Tagnamen eines Knoten. Dieser Name entspricht dem Type des Knotens in Großbuchstaben, z.B: "HTML" für einen <HTML> Knoten. Einfache Text-Knoten werden als DomNode mit dem Tagnamen "#text" repräsentiert. Pseudo-Tagnamen sind für DocumentNodes ("DOCUMENT") und DialogNodes ("DIALOG") definiert.
RückgabewertDer Tagname eines Knotens.
 
String getAttribute(String name)
Liefert den wert eines Attributs des Knotens. Zur bequemeren Nutzung ist diese Methode bereits auf dieser Ebene für Node definiert. Falls es sich bei einem konkreten Knoten nicht um ein Objekt der Klasse DomNode handelt, ist das Ergebnis immer null. In einigen Fällen liefert diese Methode Werte für Attribute zurück, die nicht explizit angegeben wurden, z.B. die Attribute "width" und "height" für einen <IMG> Knoten. Welche Attribute implizit zur Verfügung stehen, hängt vom jeweiligen Browser ab.
Parameter
nameDer Name des Attributs.
Rückgabewert Der Wert des Attributs oder null, falls es für diesen Knoten kein solches Attribut gibt.
 
String getAttributeIfSpecified(String name)
Liefert den Wert eines Attributs, sofern dieses explizit im HTML Code spezifiziert wurde. Zur bequemeren Nutzung ist diese Methode bereits auf dieser Ebene für Node definiert. Falls es sich bei einem konkreten Knoten nicht um ein Objekt der Klasse DomNode handelt, ist das Ergebnis immer null.
Parameter
nameDer Name des Attributs.
Rückgabewert Der Wert des Attributs oder null, falls für diesen Knoten kein solches Attribut explizit spezifiziert wurde.
 
boolean isAttributeSpecified(String name)
Prüft, ob ein Attribut eines Knotens explizit im HTML Code spezifiziert wurde. Zur bequemeren Nutzung ist diese Methode bereits auf dieser Ebene für Node definiert. Falls es sich bei einem konkreten Knoten nicht um ein Objekt der Klasse DomNode handelt, ist das Ergebnis immer false.
Parameter
nameDer Name des Attributs.
Rückgabewert True falls das Attribut für diesen Knoten explizit spezifiziert wurde.
 
String getText()
Liefert den Textinhalt eines Knotens. Für einen einfachen Text-Knoten ist dies sein Wert. Andernfalls wird das DOM ab diesem Knoten traversiert und die Werte aller verschachtelten Text-Knoten gesammelt. Dabei wird darauf geachtet, Leerraum möglichst so wiederzugeben, wie er im Browser dargestellt wird.
Rückgabewert Der gesamte direkte und indirekte Textinhalt eines Knotens.
 
String getVisibleText()
Liefert den Textinhalt eines Knotens. Für einen einfachen Text-Knoten ist dies sein Wert. Andernfalls wird das DOM ab diesem Knoten traversiert und die Werte aller verschachtelten Text-Knoten gesammelt, wobei unsichtbare Knoten ignoriert werden. Dabei wird darauf geachtet, Leerraum möglichst so wiederzugeben, wie er im Browser dargestellt wird.
Rückgabewert Der gesamte direkte und indirekte sichtbare Textinhalt eines Knotens.
 
String getFlatText()
Liefert den "flachen" Textinhalt eines Knotens. Für einen einfachen Text-Knoten ist dies sein Wert. Andernfalls werden die Werte aller direkt in diesem Knoten enthaltenen Text-Knoten gesammelt. Knoten in darunter liegenden Ebenen werden nicht berücksichtigt.
Rückgabewert Der gesamte direkte Textinhalt eines Knotens.
 
String getVisibleFlatText()
Liefert den "flachen" Textinhalt eines Knotens. Für einen einfachen Text-Knoten ist dies sein Wert. Andernfalls werden die Werte aller direkt in diesem Knoten enthaltenen Text-Knoten gesammelt. Unsichtbare Knoten und Knoten in darunter liegenden Ebenen werden nicht berücksichtigt.
Rückgabewert Der gesamte direkte sichtbare Textinhalt eines Knotens.
 
String getSimpleText()
Liefert den "einfachen" Textinhalt eines Knotens. Für einen einfachen Text-Knoten ist dies sein Wert. Andernfalls wird das DOM ab diesem Knoten traversiert und die Werte aller Text-Knoten gesammelt, die direkt in diesem Knoten, oder in "einfachen" Knoten wie <B> enthalten sind. Strukturell komplexere Knoten wie <TABLE> werden für die Suche nicht betreten.
Rückgabewert Der einfache Textinhalt eines Knotens.
 
String getVisibleSimpleText()
Liefert den "einfachen" Textinhalt eines Knotens. Für einen einfachen Text-Knoten ist dies sein Wert. Andernfalls wird das DOM ab diesem Knoten traversiert und die Werte aller sichtbaren Text-Knoten gesammelt, die direkt in diesem Knoten, oder in "einfachen" Knoten wie <B> enthalten sind. Strukturell komplexere Knoten wie <TABLE> werden für die Suche nicht betreten.
Rückgabewert Der sichtbare einfache Textinhalt eines Knotens.
 
DocumentNode getDocument()
Liefert das Dokument, zu dem dieser Knoten gehört.
Rückgabewert Das Dokument, zu dem dieser Knoten gehört. Ein DocumentNode liefert sich selbst, ein DialogNode liefert null.
 
Browser isBrowserIE()
Prüft, ob der Browser, zu dem dieser Knoten gehört, ein Internet Explorer ist.
RückgabewertTrue für Internet Explorer, false für Mozilla Varianten.
 
Browser isBrowserMozilla()
Prüft, ob der Browser, zu dem dieser Knoten gehört, eine Mozilla Variante ist.
RückgabewertTrue für Mozilla Varianten, false für Internet Explorer.
 
Node getParent()
Liefert den Parent eines Knoten. Ein DocumentNode auf oberster Ebene oder ein DialogNode liefern null. Alle anderen Knoten sollten einen Parent haben, sofern sie nicht via JavaScript aus dem DOM entfernt wurden.
RückgabewertDer Parent des Knoten.
 
int getChildCount()
Liefert die Anzahl an Kind-Knoten.
RückgabewertDie Anzahl an Kind-Knoten.
 
Node getChild(int index)
Liefert den Kind-Knoten an einem bestimmten Index.
Parameter
indexDer Index des Kind-Knotens, beginnend mit 0.
RückgabewertDer Kind-Knoten an dem angegebenen Index.
Exceptions
IllegalArgumentException Falls der Index negativ oder größer als die Zahl der Kind-Knoten ist.
 
Node[] getChildren()
Liefert alle Kinder dieses Knotens als Array.
RückgabewertDie Kind-Knoten.
 
int getIndexOfChild(Node child)
Liefert den Index eines bestimmten Kind-Knotens.
Parameter
childDer Kind-Knoten dessen Index ermittelt werden soll.
Rückgabewert Der Index des Kind-Knoten, beginnend bei 0, oder -1 falls es sich dabei nicht um ein Kind dieses Knotens handelt.
 
Node[] getElementsByTagName(String tagName)
Liefert alle direkten oder indirekten Kind-Knoten mit einem bestimmten Tagnamen.
Parameter
tagNameDer gesuchte Tagname.
Rückgabewert Ein Array von Kind-Knoten mit dem vorgegebenen Tagnamen. Werden keine gefunden, wird ein leeres Array zurückgeliefert. Ein DialogNode liefert immer ein leeres Array, ein FrameNode Knoten reicht den Aufruf an seinen DocumentNode Knoten weiter und ein DocumentNode Knoten an seinen <HTML> Wurzelknoten.
 
Node getElementById(String id)
Liefert einen direkten oder indirekten Kind-Knoten mit einer bestimmten ID. Verglichen wird hierbei nicht mit dem original 'ID' Attribut, sondern der möglicherweise durch IdResolver modifizierten ID (vgl. Abschnitt 44.1.16).
Parameter
idDie gesuchte ID.
Rückgabewert Der Kind-Knoten mit der vorgegebenen ID, ein beliebiger im Fall mehrerer Treffer oder null falls keiner gefunden wird. Ein DialogNode liefert immer null, ein FrameNode Knoten reicht den Aufruf an seinen DocumentNode Knoten weiter und ein DocumentNode Knoten an seinen <HTML> Wurzelknoten.
 
Node[] getElementsById(String id)
Liefert alle direkten oder indirekten Kind-Knoten mit einer bestimmten ID. Verglichen wird hierbei nicht mit dem original 'ID' Attribut, sondern der möglicherweise durch IdResolver modifizierten ID (vgl. Abschnitt 44.1.16).
Parameter
idDie gesuchte ID.
Rückgabewert Ein Array von Kind-Knoten mit der vorgegebenen ID. Werden keine gefunden, wird ein leeres Array zurückgeliefert. Ein DialogNode liefert immer ein leeres Array, ein FrameNode Knoten reicht den Aufruf an seinen DocumentNode Knoten weiter und ein DocumentNode Knoten an seinen <HTML> Wurzelknoten.
 
Node[] getElementsByIdAndTagname(String id, String tagName)
Liefert alle direkten oder indirekten Kind-Knoten mit einem bestimmten TagNamen und einer bestimmten ID. Verglichen wird hierbei nicht mit dem original 'ID' Attribut, sondern der möglicherweise durch IdResolver modifizierten ID (vgl. Abschnitt 44.1.16).
Parameter
idDie gesuchte ID.
tagNameDer gesuchte Tagname.
Rückgabewert Ein Array von Kind-Knoten mit der vorgegebenen ID und dem vorgegebenen Tagnamen. Werden keine gefunden, wird ein leeres Array zurückgeliefert. Ein DialogNode liefert immer ein leeres Array, ein FrameNode Knoten reicht den Aufruf an seinen DocumentNode Knoten weiter und ein DocumentNode Knoten an seinen <HTML> Wurzelknoten.
 
String getProperty(Object name)
Liefert eine benutzerdefinierte Eigenschaft zurück.
Parameter
nameDer Name der Eigenschaft.
RückgabewertDer Wert der Eigenschaft oder null.
 
setProperty(String name, Object value)
Setzt eine benutzerdefinierte Eigenschaft.
Parameter
nameDer Name der Eigenschaft.
value Der Wert der Eigenschaft oder null um eine Eigenschaft wieder zu entfernen.
 
Node getInterestingParent()
Liefert den interessanten Parent eines Knoten. Das ist der Parent, der auch als Parent aufgezeichnet wird. Ein DocumentNode auf oberster Ebene oder ein DialogNode liefern null. Alle anderen Knoten sollten einen Parent haben, sofern sie nicht via JavaScript aus dem DOM entfernt wurden.
RückgabewertDer interessante Parent des Knoten.
 
Node getInterestingParent(int n)
Liefert den interessanten Parent eines Knoten. Das ist der Parent, der auch als Parent aufgezeichnet wird. Ein DocumentNode auf oberster Ebene oder ein DialogNode liefern null. Alle anderen Knoten sollten einen Parent haben, sofern sie nicht via JavaScript aus dem DOM entfernt wurden.
Parameter
nDas Level des interessanten Parents.
RückgabewertDer interessante Parent des Knoten.
 
Node getNthParent(int n)
Liefert den Parent vom n-tn Level.
Parameter
nDas Level des Parents.
RückgabewertDer Parent oder null.
 
Node getAncestorOfClass(String clazz)
Liefert die nächsten Vorgänger dieser Komponente von einer angegebenen Klasse.
Parameter
clazzDas Klassenname des Parents.
RückgabewertDer passende Vorgänger oder null.
 
Node getAncestorOfClass(String clazz, int maxDepth)
Liefert die nächsten Vorgänger dieser Komponente von einer angegebenen Klasse unter Angabe einer maximalen Suchhöhe.
Parameter
clazzDas Klassenname des Parents.
maxDepthDas maximale Suchlevel.
RückgabewertDer passende Vorgänger oder null.
 
Node findCommonAncestor(Node node1, Node node2, Node topmost)
Liefert einen gemeinsamen Vorgänger von zwei Knoten.
Parameter
node1Der erste Knoten.
node2Der zweite Knoten.
topmostDer oberste Knoten, bei dem die Suche stoppen soll.
RückgabewertDer gemeinsame Vorgänger oder null.
 
boolean isAncestor(Node node)
Prüft, ob ein angegebener Knoten ein Vorgänger des aktuellen Knotens ist.
Parameter
nodeDer vermeintliche Vorgängerknoten.
RückgabewertTrue, falls der Knoten ein Vorgänger ist, sonst false.
 
Node[] getElementsByClassName(String className)
Liefert alle direkten oder indirekten Kind-Knoten mit einer bestimmten Klasse.
Parameter
classNameDer Klassenname.
RückgabewertEin Array von Kind-Knoten mit der vorgegebenen Klasse. Werden keine gefunden, wird ein leeres Array zurückgeliefert.
 
String[] getClassNames()
Liefert alle Klassen des Knotens.
RückgabewertEin Array mit allen Klassen des Knotens.
 
String getClassName()
Liefert den aktuellsten Klassennamen des Knotens.
RückgabewertDie Name der aktuellsten Klasse des Knotens.
 
String getGenericClassName()
Liefert den generischen Klassenname des Knotens.
RückgabewertDer Name der generischen Klasse.
 
boolean isMatchingClass(String className)
Prüft, ob der Knoten von der angegebenen Klasse ist.
Parameter
classNameDer zu prüfende Klassenname.
RückgabewertTrue, wenn der Knoten diese Klasse besitzt, sonst false.