【问题标题】:Angular JS How to get all rows of a repeater with Protractor?Angular JS如何使用量角器获取中继器的所有行?
【发布时间】:2013-11-12 03:05:28
【问题描述】:

我有一个包含所有用户的表,我想搜索列 {{user.name}} === 'X' 的用户。当我找到正确的行时,我想通过单击该行的最后一列来删除该条目。

element(by.repeater('user in allUsers')).then(function(rows) {
  for (var i = 0; i < rows.length; ++i) {
    // if the right row is found click on the last column to delete it
  } 
});

我得到一个 TypeError: Object # has no method 'then'

我在这里找到了我的解决方案,但这仍然是旧语法

【问题讨论】:

  • 我忘记了链接 github.com/angular/protractor/issues/147

标签: javascript angularjs repeater ng-repeat protractor


【解决方案1】:

你忘了调用all函数:

element.all(by.repeater('user in allUsers')).then(function(rows) {

【讨论】:

  • 感谢您的回答。现在错误消失了。 Protractor 一直等到显示来自服务器的数据,但未调用函数(行)。
  • 这对我来说是正确的 - 你确定没有调用该函数吗?您确定将 rows 视为 WebElement 数组吗?
  • 我只是放了一个console.log('test');进入功能,但它不工作。回调函数没有被调用。
  • 这不是说明你的页面没有这样的中继器吗?
  • 页面上没有中继器。因为 var rows = element.all(by.repeater('user in allUsers'));期望(rows.count ()).toEqual(16);正在按预期工作
猜你喜欢
  • 1970-01-01
  • 2015-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多