-1
문제가 있습니다. app.e2e-spec.ts에서 로그인 페이지로 이동합니다. 파일에 이라는 메소드가 있습니다. SignIn 버튼을 클릭하면 대시 보드 페이지의 제목이 반환됩니다. 마치 로그인에 실패했습니다. 그러나 그는이 메시지를 가져옵니다이 페이지에서로케이터 각도기를 찾을 수 없습니다
should be able to login
- Failed: Timed out waiting for asynchronous Angular tasks to finish after 11 seconds. This may be because the current page is not an Angular application. Please see the FAQ for more details: https://github.com/angular/protractor/blob/master/docs/timeouts.md#waiting-for-angular
While waiting for element with locator - Locator: By(css selector, h2)
을하는 요소는 다음과 같습니다
<h2 _ngcontent-c5 = ""> Dashboard API </h2>
app.e2e-spec.ts
it('should show login page',() => {
page.navigateToHome();
page.maximizeWindow();
expect(page.getLoginBoxTitle()).toEqual('Sign In');
});
it('should be able to login',() => {
page.navigateToHome();
page.login();
expect(page.getPageTitle()).toEqual('Dashboard API');
page.navigateToDashboard();
});
app.po.ts
login() {
element(by.name('username')).sendKeys('[email protected]');
element(by.name('password')).sendKeys('test123');
element(by.buttonText('SignIn')).click();
}
loginIfNotLoggedIn() {
if (element.all(by.css('.login-box')).length > 0) {
this.login();
} else {
console.info('Already logged in');
}
}
getLoginBoxTitle() {
return element(by.css('h2')).getText();
}
getPageTitle() {
return element
.all(by.css('h2'))
.last()
.getText();
}
대시 보드 .e2e-spec.ts
it('should get api status',() => {
login.browserSleep();
page.navigateToDashboard();
login.loginIfNotLoggedIn();
page.getStatusAPI();
page.navigateToApplications();
});