为什么量角器会发现元素数量不正确?

时间:2017-02-02 23:16:26

标签: javascript jquery angularjs protractor

我有一个包含5 ng重复元素的页面,我正在尝试验证是否显示了正确的数字(self.assignmentQuestions表示服务器应该在网页上显示的数据副本-repeat):

browser.pause()
$$("[ng-repeat='task in newAssignment.questions track by task._id'] > omni-task").then(function(assignmentQuestions) {
  expect(assignmentQuestions.length).toEqual(self.assignmentQuestions.length);

当浏览器暂停时,如果我打开控制台并执行$("[ng-repeat='task in newAssignment.questions track by task._id'] > omni-task"),jQuery会找到5个元素。当Protractor检索ElementArrayFinder的当前集合时,它能够找到6(应该只有5)。不应该在量角器中查找与jQuery相同的CSS,页面状态相同并找到相同数量的元素吗?

1 个答案:

答案 0 :(得分:0)

首先:在量角器中你有了by.repeater选择器。 然后你可以使用count()返回一个promise然后检查长度。这应该有效:

var elements = element.all(by.repeater('task in newAssignment.questions'));
expect(elements.count()).to.become(self.assignmentQuestions.length);