Protractor by.repeater命令中是否存在错误

时间:2014-11-17 05:02:12

标签: javascript angularjs testing protractor

我从几天开始使用量角器。但是by.repeater函数似乎显示每个ng-repeat元素的通过测试,即使该绑定名称是错误的。 这里是量角器教程页面http://angular.github.io/protractor/#/tutorial

中给出的示例
 // spec.js
describe('angularjs homepage', function() {    
 var firstNumber = element(by.model('first'));    
  var secondNumber = element(by.model('second'));    
  var goButton = element(by.id('gobutton'));    
  var latestResult = element(by.binding('latest'));    
  

var history = element.all(by.repeater('result in memory'));

  function add(a, b) {    
    firstNumber.sendKeys(a);    
    secondNumber.sendKeys(b);    
    goButton.click();
  }

  beforeEach(function() {
    browser.get('http://juliemr.github.io/protractor-demo/');
  });

  it('should have a history', function() {
    add(1, 2);
    add(3, 4);

    expect(history.count()).toEqual(2);

    add(5, 6);

    expect(history.count()).toEqual(3); // This is wrong!
  });
});

但即使我更改了代码,它也会给出测试通过

 // spec.js
describe('angularjs homepage', function() {
  var firstNumber = element(by.model('first'));
  var secondNumber = element(by.model('second'));
  var goButton = element(by.id('gobutton'));
  var latestResult = element(by.binding('latest'));
  

var history = element.all(by.repeater('result in me'));

  function add(a, b) {
    firstNumber.sendKeys(a);
    secondNumber.sendKeys(b);
    goButton.click();
  }

  beforeEach(function() {
    browser.get('http://juliemr.github.io/protractor-demo/');
  });

  it('should have a history', function() {
    add(1, 2);
    add(3, 4);

    expect(history.count()).toEqual(2);

    add(5, 6);

    expect(history.count()).toEqual(3); // This is wrong!
  });
});

我不知道我是否正在尝试使用它

1 个答案:

答案 0 :(得分:0)

我找到了答案。  这是Protractor中的一个错误。 问题是量角器检查是否

  

导致我

(使用indexOf命令)是一个带有ng-repeat的字符串,但不检查它是否等于它。

所以它通过测试用例"结果在我" ,"导致记忆"但不是"导致记忆"

我认为必须修复