2017-10-06 11 views
1

스크립트를 실행할 대기 조건을 만들려고하고 기다릴 필요가 있으면 반환 값에 따라 결정됩니다. 나는 각도기의 executeScript 기능과 브라우저 대기를 사용하고 있습니다 :각도기 브라우저에서 부울 값 대기 조건

this.activeConnections = function(jsl) { 
console.log("Inside Active Connections"); 
switch (jsl) { 
case checkEnum.jQuery: 
console.log("Jquery Enum"); 
return browser.executeScript("return jQuery.active;").then(function(count) { 
console.log("The count is "+count); 
return count == 0; 
}); 
default: 
browser.logger.info("No asynchronous check performed."); 
break; 
} 
}; 

내가 참으로 평가하는 것입니다 실행 된 스크립트 때까지 기다리는 대기 상태를 예상했지만 그

this.waitForActiveConnections = function() { 
console.log("Inside Wait for Active Connections"); 
var condition = until.and(this.activeConnections(checkEnum.jQuery),false); 
console.log("Whats this condition "+ condition); 
return browser.wait(condition,30000); 
}; 
+0

이 단순화 된 버전에서 작업 알았어요'this.waitForActiveConnections = 함수() { 을 console.log는 ("내부는 활성 연결 기다립니다"); return browser.wait (function() { // 조건이 참이 될 때까지 대기 return browser.executeScript ("return jQuery.active;") 다음 (function (count) { console.log + count); return count == 1; }); }, 3000); }; –

답변

0

주요 문제를 작동하지 않습니다 사용자 지정 예상 조건 인 이 실행 파일을 반환해야하는 것입니다. 즉browser.wait()이 계속 실행됩니다. 뭔가 같은 :

this.activeConnections = function(jsl) { 
    return function() { 
     switch (jsl) { 
      case checkEnum.jQuery: 
       return browser.executeScript("return jQuery.active;").then(function(count) { 
        return count == 0; 
      }); 
      default: 
       browser.logger.info("No asynchronous check performed."); 
       return true; 
       break; 
     } 
    } 
}