我试图通过绑定找到一个元素,问题是该元素是一个toast。
我正在使用:
element(by.css('.btn-primary3')).click()
模拟点击。因此,在测试期间,吐司确实出现在浏览器中。
然后我尝试将元素存储在变量中,并测试toast的文本值是否等于预期值。
var toast = element(by.binding('toast.toast.title'));
expect(toast.getText()).toEqual('Inloggen mislukt');
但是这里会弹出错误。
Failed: No element found using locator: by.binding("toast.toast.tile")
当我检查Chrome开发工具中的toast元素时,它会显示如下,
<div data-ng-repeat="toast in activeToasts">
<span data-ng-bind="toast.toast.title" class="ng-binding"> Inloggen mislukt</span>
</div>
我认为问题来自于这样一个事实:当加载页面时,包含绑定的范围不存在于dom中。单击按钮时会创建它。
答案 0 :(得分:1)
如果是这种情况,请在点击按钮后wait for the presence of the element:
element(by.css('.btn-primary3')).click();
var toast = element(by.binding('toast.toast.title'));
browser.wait(EC.presenceOf(toast), 5000);
expect(toast.getText()).toEqual('Inloggen mislukt');
答案 1 :(得分:0)
请您尝试:
<div data-ng-repeat="toast in activeToasts">
<span data-ng-bind="toast.toast.title" class="ng-binding"> Inloggen mislukt</span>
</div>