使用量角器,我的目标是在给定名称值的情况下单击更新按钮,该值是唯一的。
<div class="Employee">
<div class="address">
<button class="street" value="update"/>
</div>
<div class="profile">
<div class="name" value="Joe Smith"/>
</div>
</div>
<div class="Employee">
<div class="address">
<button class="street" value="update"/>
</div>
<div class="profile">
<div class="name" value="Jane Smith"/>
</div>
</div>
因此,尝试查找所有“雇员”元素以查找所有父母,然后进行过滤以查找哪个“雇员”元素具有值为“简·史密斯”的特定孩子。然后使用该父元素单击“更新”按钮。
element.all(by.css('[class="Employee"]')).filter(function (elem,index) {
if(elem.element(by.css('[value="Jane Smith"]')).isPresent()){
return elem
}
}).then(function (elem) {
elem[0].element(by.css('[value="update"]')).click()
})
问题是在“ if”语句中,它始终等于true,但我不确定为什么。
也许还有另一种方法可以解决这个问题,而无需使用xpaths,因为这种环境一直在变化
最佳答案
关于您的if语句,它应该看起来像这样:
elem.element(by.css('[value="Jane Smith"]')).isPresent())
.then(function (result) {
if (result) { } //true
else { }
}