Как проверить тост сообщения в транспортире в Angular? - PullRequest
0 голосов
/ 12 июня 2018

В тестируемом приложении в классе компонентов есть строки, в которых отображается сообщение toastr.Я пытаюсь написать тест на транспортир, который проверяет, отображаются ли эти сообщения или нет, но мне трудно.Причина в том, что у меня нет упоминания о тостере в моем HTML, поэтому у меня нет идеи, как заставить транспортира найти его.Вот код, где я использую тостр.Я хочу проверить, отображается ли сообщение об успехе, регистрируется ли пользователь или обновляет его.

     dialogRef.afterClosed().subscribe(result => {
        console.log(result);
        if (result.success === "success") {
            this.toastr.success(result.isToEdit == true ? "User is updated successfully " : "User is created successfully.");
            this.getUsers();
        }
    });

Я чешу голову на этом.Любая помощь будет отличной.Спасибо!

Редактировать: Я думаю, что я решил эту проблему.Я сделал следующий код для доступа к сообщению:

return element(by.css('.toast-message'))

Ответы [ 2 ]

0 голосов
/ 12 июня 2018

Он существует в HTML, но только когда он виден.

В конфигурации вы можете указать класс для сообщения, установив messageClass

Затем вы можете искатьдля этого с помощью класса CSS:

https://www.npmjs.com/package/ng2-toastr#toastoptions-configurations

0 голосов
/ 12 июня 2018

Кажется, тебе нужно подождать, пока тостер не выйдет.Добавьте browser.sleep(1000), чтобы дождаться этого.Это самое простое и не совсем правильное решение, но в качестве первого шага вы можете попробовать его.Лучшее решение - использовать await browser.wait(ExpectedConditions.visibilityOf(element), 1000, element.locator());, чтобы транспортир ждал появления элемента в течение самое большее 1000 миллисекунд , не блокируя весь тест на сон

...