gpt4 book ai didi

protractor - 如何在 Protractor 中处理表格数据

转载 作者:行者123 更新时间:2023-12-04 23:00:44 33 4
gpt4 key购买 nike

在 Protractor 中,如何处理重复的内容,比如一张表格?例如,给定以下代码,它会踢出一个包含 3 列的表:Index , NameDelete-Button在每一行中:

<table  class="table table-striped">
<tr ng-repeat="row in rows | filter : search" ng-class="{'muted':isTemp($index)}">
<td>{{$index+1}}</td>
<td>{{row}}</td>
<td>
<button class="btn btn-danger btn-mini" ng-click="deleteRow(row)" ng-hide="isTemp($index)"><i class="icon-trash icon-white"></i></button>
</td>
</tr>
</table>

在我的测试中,我需要根据给定的名称单击删除按钮。在 Protractor 中找到这个的最佳方法是什么?

我知道我可以抢到 rows.colum({{row}})文本,获取它的索引,然后单击 button[index] ,但我希望有一个更优雅的解决方案。

例如,在 Geb 中,您可以将行定位器传递给模块,然后该模块将使用列指示符分割每一行。这个解决方案让我关注 Protractors map 方法......

最佳答案

您可以使用 map 或过滤器。 api 看起来像这样:

  var name = 'some name';

// This is like element.all(by.css(''))
return $$('.table.table-stripe tr').filter(function(row) {
// Get the second column's text.
return row.$$('td').get(2).getText().then(function(rowName) {
// Filter rows matching the name you are looking for.
return rowName === name;
});
}).then(function(rows) {
// This is an array. Find the button in the row and click on it.
rows[0].$('button').click();
});

http://angular.github.io/protractor/#/api?view=ElementArrayFinder.prototype.filter

关于protractor - 如何在 Protractor 中处理表格数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25878496/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com