下面是 AngularJS 代码,我需要使用 ng Repeater 定位器并在 ng 类绑定(bind)中获取值“Number: 12345”。不使用 xpath
<tr class="auto-row ng-scope" ng-class="{success : row1Checked}" ng-repeat="aut in aut">
<td style="padding-top: 0px; padding-bottom: 0px;" colspan="2">
<div class="row">
<div class="col-xs-12">
<div class="checkbox">
<label>
<input class="ng-pristine " id="row1" type="checkbox" ng-model="row1Checked"><span class="ng-binding" id="mq-auto">Car Number</span><br>
<span id="mq-auto" style="color: rgb(168, 168, 168); padding-left: 0px;"><small class="ng-binding">Number: 12345</small></span>
</label>
</div>
</div>
</div>
</td>
</tr>
下面是我使用的测试代码
var aut = element.all(by.repeater('aut in aut'));
var text = aut.get(0).getText();
最佳答案
var aut = element.all(by.repeater('aut in aut'));
将引用转发器中的每个 tr
元素,但您需要获取包含所需数字的内部元素。如果您需要对每一行执行此操作,请使用 map()
:
var aut = element.all(by.repeater('aut in aut'));
var numbers = aut.map(function (row) {
return row.element(by.id("mq-auto")).getText();
});
expect(numbers).toEqual(["Number: 12345", "Number: 1231234", ... ]);
关于javascript - 测试 Angularjs 应用程序-如何获取具有 ng-repeat 属性的对象中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35724878/