Я добавляю Cypress в свой проект Angular 6 с Angular Material.Новых пользователей приветствуют с помощью диалогового окна материалов (которое содержит iFrame), и диалоговое окно закрывается, если щелкнуть за пределами диалогового окна.
Я пытался закрыть это диалоговое окно в Cypress несколькими способами и ввел ожидания и чрезмерноетайм-ауты, чтобы убедиться, что это не связано с проблемами загрузки сети:
cy.get('dialog-element', { timeout: 10000})
.wait(3000).click(-50, -50);
, что не удается, потому что он покрыт контейнером cdk-overlay-container.Использование click (..., {force: true}) не помогло.Пробовал
cy.get('.cdk-overlay-container', { timeout: 10000})
.wait(3000).click(-50, -50, { force: true });
Что тоже не помогло.Диалоговое окно не закрывается, и последовательные щелчки не работают, то есть он всегда терпит неудачу при попытке выполнить, например,
cy.get('[data-cy=element-on-page-beneath-dialog]').click();
При отладке я вижу красную точку, где происходит щелчок, вне диалогового окна,поэтому позиционирование мыши не является проблемой.
Редактировать: Диалог материала HTML по запросу (ширина и высота примечания достаточно мала, поэтому диалог не заполняет страницу, но оставляет вокруг достаточно места, а у src есть настоящий Youtubeссылка на видео)
<div style="overflow: hidden;">
<iframe style="margin-top: 2px; overflow: hidden;" [width]="videoWidth" [height]="videoHeight" src="..." frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
<div>