我对Protractor相当新,并且在从错误框中获取文本时遇到一些困难,只有在满足某个条件时才显示该文本。
我确信这只是一个语法问题。下面是我用来尝试获取框中显示的“文本”的行,并将其与预设的静态字符串进行比较。
expect(element(by.css('[ng-switch-default=""]')).getAttribute('value')).toEqual(expected_error_message);
我收到了回复信息:
Message: Expected null to equal 'User with login test8827391@gmail.com' already exists.'
所以基本上没有什么可以比较字符串,因为“getAttribute('value')应该抓取的值返回null”。
我正在引用的HTML块位于以下位置:
<div ng-class="config.message" ng-switch="" on="toaster.bodyOutputType" class="toast-message"><div ng-switch-default="" class="ng-binding">User with login 'test8827391@gmail.com' already exists.</div></div>
答案 0 :(得分:5)
看起来您的消息不是属性,而是div的文本。 尝试:
expect(element(by.css('[ng-switch-default=""]')).getText()).toEqual(expected_error_message);
答案 1 :(得分:0)
我已经堕入另一个洞。我不小心选择了label元素,因此sendKeys()方法有效,但是getAttribute('value')却没有。