Тест транспортира для нажатия кнопки «Да» в диалоговом окне - PullRequest
0 голосов
/ 21 октября 2018

У меня есть угловой диалог из 6 материалов для удаления сущностей (сотрудников).Я хочу настроить шаг транспортира, чтобы нажать кнопку «Да» в диалоговом окне, чтобы вызвать удаление.Прямо сейчас у меня есть функция объекта страницы, которая делает это:

deleteYesButton = () => element(by.id('deleteYes'));

, и в моем файле e2e я делаю это как шаг асинхронного теста:

await page.deleteYesButton.click();

появляется диалоговое окно, но щелчок просто закрывает диалоговое окно без удаления.Если я вручную использую приложение, нажмите кнопку «Да», все работает нормально.

Разметка для диалогового окна такова:

Шаблон:

<h2 mat-dialog-title>{{modalTitle}}</h2>
<mat-dialog-content id="mat-dialog-content">Do you wish to delete this {{entityname}}?</mat-dialog-content>
<mat-dialog-actions>
    <button mat-button mat-dialog-close id="deleteNo">No</button>
    <!-- The mat-dialog-close directive optionally accepts a value as a result for the dialog. -->
    <button mat-button [mat-dialog-close]="true" id="deleteYes">Yes</button>
</mat-dialog-actions>

Это похоже на времяпроблема или может быть что-то еще нужно вызвать?Любая помощь будет оценена

1 Ответ

0 голосов
/ 21 октября 2018

, поэтому я изменил код, чтобы функция страницы была асинхронной, как предложил demouser123.Пришлось немного переделать код e2e к этому:

const delBtn = await page.deleteYesButton();
await delBtn.click();

, но результат тот же, что и у оригинала.Я также проверил, чтобы убедиться, что не было дубликатов, как просил Олески.То, что заставило это работать, добавило browser.pause после оригинального кода.Так что теперь это работает:

await page.deleteYesButton().click();
browser.pause(5000);  // adding this allowed the delete to go through???
...