Protractor 量角器执行脚本,但超时

Protractor 量角器执行脚本,但超时,protractor,cucumberjs,Protractor,Cucumberjs,我在用量角器测量黄瓜。我的脚本一直执行到最后,一旦完成,就会一直等待并超时。在返回承诺时,它跳过执行并突然结束 enter code here Then('*************************** , function(callback){ browser.ignoreSynchronization= true; browser.switchTo().defaultContent().then(function(){ return navigator.sendKeys("

我在用量角器测量黄瓜。我的脚本一直执行到最后,一旦完成,就会一直等待并超时。在返回承诺时,它跳过执行并突然结束

enter code here

Then('*************************** , function(callback){
browser.ignoreSynchronization= true;
browser.switchTo().defaultContent().then(function(){
    return navigator.sendKeys("abc", protractor.Key.ENTER);

}.then(function(){
    return browser.switchTo().frame(0);
});
column.getText().then(function(text){
    return expect(text).contain("expectedString");
});
callback();
});

我不确定我错过了什么。有什么帮助吗?

选项1返回承诺,而不是使用
回调

Then('*************************** , function(){
  browser.ignoreSynchronization= true;
  browser.switchTo().defaultContent().then(function(){
      return navigator.sendKeys("abc", protractor.Key.ENTER);

  }.then(function(){
      return browser.switchTo().frame(0);
  });

  // return a promise as function return value
  return column.getText().then(function(text){
      return expect(text).contain("expectedString");
  });
});
选项2调用
promise.then()中的
callbak()

Then('*************************** , function(callback){
  browser.ignoreSynchronization= true;
  browser.switchTo().defaultContent().then(function(){
      return navigator.sendKeys("abc", protractor.Key.ENTER);

  }.then(function(){
      return browser.switchTo().frame(0);
  });
  column.getText().then(function(text){
      expect(text).contain("expectedString");
      return callback();
  });
});