如何在迁移到黄瓜4时返回承诺?

时间:2018-01-29 16:52:45

标签: javascript protractor cucumberjs

我正在将测试用例迁移到黄瓜4,我有以下片段,我想用黄瓜4类代码转换。

homePage.js

this.isHomeButtonEnabled = function(){
  var isButtonEnabled = true;
   browser.element(by.css('.home-btn')).getAttribute('disabled').then(function () {
         isButtonEnabled = false;
   })
   return isButtonEnabled;
}

我期望的情况是,

expect(homePage.isHomeButtonEnabled()).to.be(true);

现在我上面的函数,即isHomeButtonEnabled应该返回promise。但是,迁移上述代码段的适当方法是什么?

1 个答案:

答案 0 :(得分:1)

选项1)使用量角器isEnabled() api:

this.isHomeButtonEnabled = function(){
   return element(by.css('.home-btn')).isEnabled();
}

选项2)使用getAttribute('disabled')

this.isHomeButtonEnabled = function(){
   return element(by.css('.home-btn')).getAttribute('disabled')
         .then(function(disabled){
             return disabled === null ? true: false;
          });
}