我想获得用户可以点击的菜单界面项目。
不幸的是,
isEnabled
方法始终返回
true
我所有的物品。
这就是我尝试另一种方法的原因。我注意到禁用的类,总是有“ui-state disabled”类。因此,我可以使用以下功能获取所有禁用项目:
function getDisabledMenuItems() {
return getCustomGrid().all(by.className('menu-ui')).all(by.className('ui-state-disabled')).all(by.className('menu-item-text'));
}
然后使用以下菜单项:
function getAllMenuItems() {
return getCustomGrid().all(by.className('menu-ui')).all(by.className('menu-item-text'));
}
现在我想排除
getDisabledMenuItems
从返回的项目
getAllMenuItems
.
问题
排除存在于其他elementrayfinder中的elementrayfinder项的最简单方法是什么?
我正试图通过
filter
方法如下:
const disabledText = getDisabledMenuItems().getText();
const allItems = getAllMenuItems();
allItems.filter(function(elem, index) {
return elem.getText().then(function(text) {
return disabledText.indexOf(text) < 0 ;
});
});
但是我的代码不起作用(
indexOf does not exists on type Promise<string>
)
我还想知道最简单的方法是什么。