나는 afterEach를 사용하여 로그 아웃하지만, 내 테스트는 afterEach가 로그 아웃을 완료하기 전에 로그인을 시도합니다.afterEach가 완료되기를 기다리지 않고 계속하기 전에
나는 sleep 문을 사용하지 않으려 고하고있다.
이전의 이전 완료를 기다리는 테스트를 어떻게받을 수 있습니까?
코드 조각 :
afterEach(function() {
AccountBlock.logout().then(function(){
browser.sleep(2000); // I want to get rid of this
});
});
합니다 (AccountBlock 개체에서) 로그 아웃() 메소드 :
this.logout = function() {
var logoutLink = this.logoutLink;
var userName = this.userName;
return logoutLink.isDisplayed().then(function(isDisplayed){
if (!isDisplayed) {
return userName.click().then (function() {
return logoutLink.click();
}); // open the account menu before logout
} else { // account menu already displayed
return logoutLink.click();
}
});
}
this.userName = element(by.css('a[ng-bind="userName"]'));
this.logoutLink = element(by.css('a[ng-click^="logout"]'));
답을 쉽게하기 위해 몇 가지 코드를 포함하십시오. –
코드 스 니펫으로 원래 게시물에 추가됨 – HenrikBechmann
각도기는 [onPrepare로 로그인하는 것이 좋습니다] (http://angular.github.io/protractor/#/faq#how-do-i-deal-with-my- 로그인 - 페이지 -), 모든 테스트를 실행하기 전에 앱에 한 번만 로그인하십시오. 모든 테스트 후에 정말로 로그 아웃해야합니까? – user2943490