【问题标题】:Protractor getAttribute('value') returning as null量角器 getAttribute('value') 返回为 null
【发布时间】:2015-03-23 02:24:13
【问题描述】:

我是 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>

【问题讨论】:

  • 输入的属性“值”存在。 div 有文本。

标签: angularjs protractor


【解决方案1】:

看起来您的消息不是属性,而是 div 的文本。 试试:

expect(element(by.css('[ng-switch-default=""]')).getText()).toEqual(expected_error_message);

【讨论】:

  • 请不要只发布代码答案,而是附上解释。
  • 我只是改变了一个东西,所以我认为这是不言而喻的,但我会添加一些简单的 cmets。
  • 太棒了,效果很好。我知道我必须只是在查看 div 中的错误。
【解决方案2】:

我掉进了另一个洞。我不小心选择了标签元素,所以 sendKeys() 方法有效,但 getAttribute('value') 没有。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-09
    • 1970-01-01
    • 2020-06-25
    • 1970-01-01
    • 2010-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多