В тестовой спецификации мне нужно нажать кнопку на домашней странице и дождаться полной загрузки страницы.Кнопка была нажата только один раз, и когда я перезапускаю спецификацию, она выходит из строя из-за того, что транспортир не может достичь конца вложенных элементов на element(by.tagName('app-banner')
it('should click a button', async () => {
const EC = protractor.ExpectedConditions;
page.login().then(() => {
browser.wait(element(by.id('Body')).element(by.tagName('app-root')).isDisplayed, 5000).
then(async () => {
browser.wait(await element(by.tagName('app-root')).element(by.tagName('app-banner')).isDisplayed, 5000).
then(async () => {
await element(by.tagName('app-root')).element(by.tagName('app-banner')).
element(by.id('topbar')).element(by.id('user-display')).click();
});
});
});
});
- HTML Hierarchy
<app-home>
<div _ngcontent-c1 class=”layout-wrapper”>
<app-banner>
<div _ngcontent-c3 id=”topbar”>
<a id=”user-display”>
<bar-switchuser>
<span>
<p-dropdown>
</p-dropdown>
</span>
</bar-switchuser>
</a>
</div>
<app-banner>
</div>