使用带有扩展HTML标记的量角器(x-ng和data-ng)

时间:2015-09-28 20:58:55

标签: angularjs protractor angular-ngmodel angularjs-e2e

我使用量角器用我的Angular.js应用测试e2e。我可以使用以下方法通过ng-model获取元素:

element(by.model('ctrl.someModel')).sendKeys('abc');

但是,它只适用于模型是" ng-model",而不使用严格的标记扩展器,如" data-ng-model"或" x-ng-model"。

有没有人知道使用HTML扩展程序的方法?

1 个答案:

答案 0 :(得分:1)

data-ng-model定位器<by.model coveredprotractor甚至有一个test

it('should find inputs with alternate attribute forms', function() {
  var letterList = element(by.id('letterlist'));
  expect(letterList.getText()).toBe('');

  element(by.model('check.w')).click();
  expect(letterList.getText()).toBe('w');

  element(by.model('check.x')).click();
  expect(letterList.getText()).toBe('wx');
});

其中check.wcheck.x模型are defined as

<input ng:model="check.w" ng-true-value="'w'" type="checkbox"/> W
<input data-ng-model="check.x" ng-true-value="'x'" type="checkbox"/> X

仅供参考,by.model()使用findByModel "client-side" function['ng-', 'ng_', 'data-ng-', 'x-ng-', 'ng\\:']前缀构建一组CSS选择器:

[ng-model="modelname"]
[data-ng-model="modelname"]
 ...