2017-11-21 3 views
0

Ich muss einen Test schreiben, um zu überprüfen, ob der Elternteil zu einem Div eine bestimmte Klasse hat, in diesem Fall "Eltern".Wie bekomme ich die Klasse in Eltern von Element in Winkelmesser?

Ich habe diesen Code:

.... 
<div class="parent"> 
    <div id="child"></div> 
</div> 
.... 

Was habe ich versucht:

element(by.id('child')).getWebElement().getDriver().getAttribute('class'); 

Aber ich bekomme die folgende Fehlermeldung und haben keine Ahnung, wie es weitergeht ..

.getWebElement(...).getDriver(...).getText is not a function 

Antwort

2

Sie erhalten die Eltern nicht richtig. Am einfachsten ist es dies mit XPath zu tun:

element(by.id('child')).element(by.xpath('..')).getAttribute('class'); 

In diesem Beispiel by.xpath('..') sollte das übergeordnete Element auswählen.

+0

Danke, funktioniert perfekt! –

1

Sie können den Code optimieren wie:

let child = element(by.id('child')).getWebElement(); 
let parent = child.getDriver().findElement(by.tagName('div')); 
expect(parent.getAttribute('class')).toBe('parent'); 

getAttribute() nicht direkt mit getDriver() arbeiten, da es browser Objekt zurückgibt.

Verwandte Themen