量角器解决了功能中的承诺

时间:2016-09-21 09:21:05

标签: javascript protractor

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;
    };

澄清:我不想等到控件可见。

1 个答案:

答案 0 :(得分:0)

您可以直接返回isDisplayed()promise本身内的控件。请看下面的示例代码。

   function () {
      var result;

      var controlA = $('controlA');
      var controlB = $('controlB');

     return listControl.isDisplayed().then(function (isVisible) {
        return isVisible ? controlA : controlB;
      });
};