Следующий тест дает противоречивые результаты;иногда это проходит, иногда это терпит неудачу со следующим сообщением об ошибке:
× Should show progress bar during request
- Expected false to be true, 'Progress bar must shown during login'.
Test:
it('Should show progress bar during request', () => {
passwordResetRequestPage.populateForm('john.doe@domain.com');
// Disable synchronisation to not wait for HTTP call to be complete
// because the progress bar will be hidden at the end of the HTTP call.
browser.ignoreSynchronization = true;
passwordResetRequestPage.getSubmitButton().click();
expect(passwordResetRequestPage.getProgressBar().isPresent())
.toBe(true, 'Progress bar must shown during login');
browser.ignoreSynchronization = false;
});
Методы из объекта страницы:
getSubmitButton(): ElementFinder {
return element(by.css('button[type=submit]'));
}
getProgressBar(): ElementFinder {
return element(by.tagName('mat-progress-bar'));
}
populateForm(email: string) {
const emailInput = element(by.css('input[formcontrolname=email]'));
emailInput.clear();
emailInput.sendKeys(email);
// Move focus away from inputs
element(by.tagName('mat-card-title')).click();
}
Когда яне включайте ignoreSynchronization
, тест не проходит постоянно.
Я пытался использовать ExpectedConditions.presenceOf
с browser.wait
, но это выдает No element found using locator
error.