Нажмите на окно уведомления, используя транспортир жасмин - PullRequest
0 голосов
/ 12 ноября 2018

Я использую каркас транспортира Жасмин для углового тестирования.Я могу нажать на каждый элемент, если у него есть селектор CSS.Теперь одна проблема заключается в том, что в моем приложении есть кнопка удаления.Если я нажму кнопку «Удалить», появится окно с уведомлением, в котором есть две опции: «Отмена».Я не вижу никакого селектора CSS для этого, с помощью которого я могу нажать кнопку ОК в текущем тесте.В результате тест не пройден.

Я объясняю своим кодом.

мой HTML-код

<mat-card-actions>
                    <button mat-raised-button color="warn" (click)="onDeleteUser(selectedUser)" class="btn btn-default t-delete-user" [disabled]="!selectedUser.userId">{{ 'Delete'}}</button>
</mat-card-actions>

Мой код Typscript

onDeleteUser( user ) {
    if ( window.confirm( this.translateService.instant( "DeleteUser" )) ) {
        this.userService.delete( this.selectedUser ).subscribe(
            succ => {
                this.notificationSerice.showOK( this.translateService.instant( "UserDeleted" ) );
                this.selectedUser = null;
                this.selectedUserRole = null;
                this.loadUserPage();
            },
            err => this.notificationSerice.showError(  this.translateService.instant( "CouldNotDeleteUser" ))
        );
    }
}

В Protractor Test я написал таким образом

let deleteUser = element(by.css('.t-delete-user'));

it('Delete button is clicked and a pop up message is appeared', async () => {
    await click.onto(deleteUser);
    //click.onto(ok);
    // but do not know how can I click ok from the window message

});

Я приложил изображение сообщения enter image description here

1 Ответ

0 голосов
/ 13 ноября 2018

Попробуйте это

browser.switchTo().alert().accept();

, если это не сработает, попробуйте этот

browser.ignoreSynchronization = true;
browser.switchTo().alert().accept();
browser.ignoreSynchronization = false;

Для получения дополнительной информации см. https://seleniumhq.github.io/selenium/docs/api/javascript/module/selenium-webdriver/lib/webdriver_exports_AlertPromise.html

...