我需要编写一个测试来检查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
答案 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"]'))