我的目标是找到同时具有id和class的元素。我这样做是这样的:
return element(by.css('#right.closed')).isPresent();
很好。但我想改进并引入以下变量:
public static rightPanel = element(by.css('#right'));
我想使用rightPanel并即时使用该变量在同一级别添加另一个条件:
rightPanel.addConditionClassMustBeClosedAtThatElement.isPresent();
可行吗?
最佳答案
addConditionClassMustBeClosedAtThatElement
可以通过getAttribute()
实现:
rightPanel.isPresent().then(function (isPresent) {
rightPanel.getAttribute("class").then(function (classes) {
console.log(isPresent && classes.indexOf("closed") >= 0);
});
});
或者,如果要通过
expect()
增加期望值:expect(rightPanel.isPresent()).toBe(true);
expect(rightPanel).toHaveClass("closed");
其中
toHaveClass
is a custom jasmine matcher。