如何在量角器中从元素中获取父类?

时间:2017-11-21 09:02:48

标签: angularjs protractor

我需要编写一个测试来检查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

3 个答案:

答案 0 :(得分:6)

您没有正确接收父母。使用xpath执行此操作最简单:

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

在此示例中,by.xpath('..')应选择父元素。

答案 1 :(得分:2)

您可以将代码调整为:

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

getAttribute()无法直接使用getDriver(),因为它会返回browser个对象。

答案 2 :(得分:0)

如果你don't want to use xpath,你可以恢复逻辑。

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