量角器执行脚本但超时

时间:2018-04-19 16:58:29

标签: protractor cucumberjs

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

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 个答案:

答案 0 :(得分:0)

选项1 会返回一个承诺,而不是使用callback

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 调用callbak()中的promise.then()

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();
  });
});
相关问题