如何在Angular中测试Protractor中的Toast消息?

时间:2018-06-12 19:16:43

标签: angular jasmine protractor toastr

在我正在测试的应用程序中,组件类中有一些行显示toastr消息。我正在尝试编写一个量角器测试,测试这些消息是否显示但是很难。原因是我没有在我的Html中提到toastr,所以我真的不知道如何让量角器找到它。这是我使用toastr的代码。我想测试用户注册或更新时是否显示成功消息。

     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 :(得分:0)

似乎你需要等待烤面包机到apeear。 添加browser.sleep(1000)等待它。它是最简单但不是非常正确的解决方案,但作为第一步,您可以尝试一下。 更好的解决方案是使用await browser.wait(ExpectedConditions.visibilityOf(element), 1000, element.locator());让量角器等待元素出现最多1000毫秒,而不是阻止整个睡眠测试

答案 1 :(得分:0)

它确实存在于HTML中,但只有在可见时才会存在。

在配置中,您可以通过设置messageClass

在邮件上指定一个类

然后你可以使用CSS类搜索它:

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

相关问题