2017-11-21 2 views
0

divの親が特定のクラス(この場合は "parent")を持っているかどうかを調べるテストを書く必要があります。分度器の要素から親のクラスを取得するには?

私はこのコードを持っている:私が試してみました何

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

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

をしかし、私は次のエラーを取得し、継続するか見当がつかない。..

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

答えて

2

あなたは親を正しく取得していません。それは、XPathでこれを行うには簡単です:

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

この例では、by.xpath('..')は、親要素を選択する必要があります。

+0

ありがとう、完璧な作品! –

0

don't want to use xpathの場合、ロジックを元に戻すことができます。あなたのようにあなたのコードを微調整することができ

element(by.css('div.parent > div[id="child"]'))

1

:それはbrowserオブジェクトを返すので、

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

getAttribute()は直接getDriver()では動作しません。

関連する問題