我有一个包含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,页面状态相同并找到相同数量的元素吗?
答案 0 :(得分:0)
首先:在量角器中你有了by.repeater选择器。 然后你可以使用count()返回一个promise然后检查长度。这应该有效:
var elements = element.all(by.repeater('task in newAssignment.questions'));
expect(elements.count()).to.become(self.assignmentQuestions.length);