2016-06-13 7 views
1

Ich versuche, Testfall mit Winkelmesser und Jasmin zu automatisieren. Das Problem ist, ich habe ein "Artikel" Web-Element-Tag, das zur Laufzeit erstellt wird und dieses Web-Element hat als Sub-Element. Diesem div-Element ist ein "id" -Tag zugeordnet. Die Struktur des Codes ist unten.Benötigen Sie den ID-Wert des Unterelements in Winkelmesser

<article class="a b c d" data-ng-repeat="xyz repeat"> <div id="THIS IS WHAT I WANT" class="class name"> </article>

Jetzt bin ich in der Lage halten, Artikel Web-Element zu erhalten erhalten. aber ich bin nicht in der Lage, das ID-Attribut im Div zu bekommen. Die ID-Werte werden dynamisch generiert. Bitte geben Sie an, wie ich den ID-Wert erhalten kann.

Danke

+0

verwenden Wenn Sie das Element ohne ID zu bekommen, warum brauchen Sie die ID? – JeffC

Antwort

5

Sie einen CSS-Selektor wie diese verwenden:

article > div 

ein Div innerhalb eines Artikels Diese erhalten Sie. Jetzt können Sie damit spielen und den Selektor weiter mit Klassen oder anderen Dingen spezifizieren. Wenn Sie es geschafft, die div-Element bekommen Sie können dann die Idee herausziehen (nicht sicher, ob die Syntax korrekt ist, aber Sie sollten auf die Idee kommen):

element.getAttribute('id') 
1
1) element(by.xpath(//div[@class='class name'])).getAttribute('id') 

2) element(by.xpath(//article [@class='abcd']//div[@id='THIS IS WHAT I WANT'])).getAttribute('id') 
+0

Könnten Sie bitte mehr Ihre Antwort ausarbeiten, indem Sie ein wenig mehr Beschreibung der von Ihnen bereitgestellten Lösung hinzufügen? – abarisone

0

Sie Ketten wie diese verwenden:

element(by.classname('')).element(by.className('classname')); 
or 
element(by.css('css of parent')).element(by.css('child css')); 

oder Sie können element(by.repeater('repeat in reapeats')).element(by.css(''));

Verwandte Themen