【问题标题】:How to find protractor element using [(ngModel)]如何使用 [(ngModel)] 查找量角器元素
【发布时间】:2018-12-19 04:17:02
【问题描述】:

我无法使用 [(ngModel)] 定位元素。这是 angular2 语法,我找不到任何文档。

<div class="form-group">
        <label for="name">Summary</label>
        <input type="text" class="form-control" [(ngModel)]="task.summary">
</div>

我尝试了多种方法来定位元素,例如

var input = element(by.model('task.summary'));
input.sendKeys('123');
expect(input.getAttribute('value')).toBe('123');

但它失败并出现错误 Failed: unknown error: angular is not defined。 我使它与以下解决方法一起工作,但我真的想使用 [(ngModel)] 来定位元素。

  var input = element.all(by.css('input'));
  input.sendKeys('summary');
  expect(input.getAttribute('value')).toBe('summary');

【问题讨论】:

  • 您能发布您使用的量角器版本以及量角器配置的内容吗?谢谢。
  • 量角器是版本 3.1.1。 config.json 是 { "webdriverVersions": { "selenium": "2.52.0", "chromedriver": "2.21", "iedriver": "2.52.0" } }
  • 你试过使用 by.binding('task.summary') 吗?
  • 一种解决方法是使用 element(by.css('[[(ngModel)]="task.summary"]'));
  • @qunzi element(by.css('[\\[\\(ngModel\\)\\]="task.summary"]'))怎么样?

标签: protractor


【解决方案1】:

我也遇到了同样的问题。我解决如下。 by.model 不支持超过 Angular 2.0 的版本。所以,我使用 by.css 属性解决了。

element(by.css('[name="firstName"]')).sendKeys('Protector User');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多