GUI上有两个元素,具体取决于上下文,只有一个元素可见。
因此,我喜欢使用辅助函数来提供当前可见元素的Protractor元素。
但是,我必须等到承诺得到解决,因为一切都是异步的。
function () {
var result;
var controlA = $('controlA');
var controlB = $('controlB');
listControl.isDisplayed().then(function (isVisible) {
result = isVisible;
// STEP X
});
// WAIT HERE UNTIL STEP X is done
return result ? controlA : controlB;
};
澄清:我不想等到控件可见。
答案 0 :(得分:0)
您可以直接返回isDisplayed()promise本身内的控件。请看下面的示例代码。
function () {
var result;
var controlA = $('controlA');
var controlB = $('controlB');
return listControl.isDisplayed().then(function (isVisible) {
return isVisible ? controlA : controlB;
});
};