나는 console.logs를 사용하여 이것을 파악하려고 노력했지만 이러한로드 시간이 왜 그렇게 긴지 알 수 없습니다.Zombie.js pressButton 긴 콜백 지연
그래서 내 모카 단위 테스트 파일에 내 beforeEach
에 다음 코드가 있습니다.
browser.fill('email', '[email protected]');
browser.fill('password', 'testtest');
browser.pressButton('Login').then(function() {
console.log("#100 - "+ new Date().getTime());
done();
});
이 경우 버튼을 누르면 약간의 리디렉션이 발생하고 마지막으로 대시 보드 페이지가 표시됩니다. 해당 HTML 파일의 맨 아래에 다음 코드가 있습니다.
<script>
$(document).ready(function() {
console.log("#200 - "+ new Date().getTime());
});
</script>
그래서 내가 #200
후 #100
마이너스 값 이후 값을 경우 테스트를 실행 한 후에 항상 약 5000-6000입니다. #200
은 항상 전에 5-6 초 정도 인쇄됩니다.
페이지를로드 한 후 Zombie.js가 해당 콜백 함수를 호출하는 데 5-6 초가 더 걸리는 이유를 모르겠습니다.
Zombie.js에 페이지가로드 된 후 잠깐 기다렸거나 지연 될 수 있습니까? 페이지로드와 콜백 함수를 호출하는 Zombie.js 사이에이 5-6 초 지연을 야기 할 수있는 다른 요인은 무엇입니까?
EDIT 이제이 같은 문제가 있지만 50000ms와 같습니다. 그리고 그것은 정말로 나의 모든 테스트에 걸쳐 슈퍼를 빠르게 추가합니다. 나는 아직도 이것이 일어나고있는 이유를 알 수 없다. 내가 내 테스트에 browser.debug()
를 추가하는 경우
편집 2
IT는 맨 끝에 다음을 인쇄합니다. 그것은 또한 다른 것들을 많이 인쇄하지만 전반적으로 꽤 빨리 일어난다. 나는 다음과 같은 것이 문제라고 생각한다. 왜 그 일을하는지, 어떻게 고칠 지 모르겠습니다.
zombie Fired setInterval every 5000ms +11ms
zombie Fired setInterval every 5000ms +5s
zombie Fired setInterval every 5000ms +5s
zombie Fired setInterval every 5000ms +5s
zombie Fired setInterval every 5000ms +5s
zombie Fired setInterval every 5000ms +5s
zombie Fired setInterval every 5000ms +5s
zombie Fired setInterval every 5000ms +5s
zombie Fired setInterval every 5000ms +5s
zombie Fired setInterval every 5000ms +5s
zombie Fired setInterval every 5000ms +5s
zombie Fired setInterval every 5000ms
의 모든 원인을 나는 그것이 55000ms +를하지 만드는 방법을 수정합니까 무엇입니까?
EDIT 3
I는 또한 테스트 유닛의 시작 부분에서 다음 코드를 말했다.
browser.addListener("setInterval",function (a,b) {
console.log("a: "+a);
console.log("b: "+b);
});
각 zombie Fired setInterval every 5000ms +5s
을 인쇄 한 후 해당 청취자 때문에 다음을 인쇄합니다.
a: function(){var b,c,d;if(b=window.location.href,b!==h){try{d=JSON.stringify({action:"ping",sid:a.utils.getSessionID(),muid:a.utils.getMerchantID(),referrer:h,url:b,title:document.title}),e.contentWindow.postMessage(d,"*")}catch(f){c=f}return h=b}}
b: 5000
a
b
및 그 11 zombie Fired setInterval every 5000ms
후 각각 동일하다. 그것들은 11 번에 전혀 변하지 않습니다.
나는 함수가 어딘가에 도움이 될 것이라고 생각했지만, 왜 이런 일이 일어나고 있는지, 또는 어떻게 고쳐야하는지 이해할 수 없다.
지연된 답변을 드려 죄송합니다. 지금까지 이것을 보지 못했습니다. 각 이벤트가 끝나면 정확히 어떻게 변경 사항을 감지합니까? 나는 console.log (browser.html());을 실행했다. 각 이벤트 간의 MS 차이가 일정량보다 큰 경우. 그러나 나는 그것들 사이에 어떤 변화도 발견 할 수 없다. 그러면 이벤트 사이에 너무 오래 걸리는 것이 무엇인지 어떻게 알 수 있습니까? 나는 현재 1 분이 넘는 시간이 걸리는이 단위 테스트를 가지고 있는데 그 이유를 알 수 없다. 과거에는 약 7 초 정도 걸렸습니다. 이제는 8 배 이상을 차지합니다. 그리고 코드를 변경하면 코드가 변경 될 수 있습니다. –