我使用量角器和黄瓜。我的脚本执行到最后,一旦完成就会等待和超时。在返回承诺时,它会跳过执行和结束
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();
});
我不确定我在这里缺少什么。有什么帮助吗?
答案 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();
});
});