我的代码段在下面..
<div class="sl" ng-repeat="qual in mQuals | orderBy : 'order'">
<div ng-repeat="cList in tList | orderBy:'Priority' " ng-if="c == qualifier.Id">
<p class="sl-text-body--small" title="">
<div>
<label class="sl-checkbox" style="cursor: pointer">
<input ng-model="checkList.Status" type="checkbox" id="checkbox-01" />
<span class="sl-checkbox--fux"></span>
</label>
</div>
</p>
</div>
</div>
在内部ng-repeat中,它重复两次。我无法点击第二个复选框。
我试过下面的量角器..
var checkBoxElements=element.all(by.xpath('//input[@ng-model="checkList.Status"]')).get(1);
browser.wait(EC.presenceOf(checkBoxElements),5000);
checkBoxElements.click().then(function () {
/*/!* Getting color-class of qualifier-box*!/*/
browser.sleep(2000);
})
当我尝试下面的时候..
var checkBoxElements=element.all(by.xpath('//input[@ng-model="checkList.Status"]')).get(0);
我可以点击第一个复选框。
答案 0 :(得分:0)
我建议你为输入生成正确的ID。 在你的情况下,它将是这样的:
<input ng-model="checkList.Status" type="checkbox" id="checkbox-{{ $parent.$index }}-{{ $index }}" />
其中$ parent。$ index是外部ng-repeat的索引/迭代器,$ index是内部的索引/迭代器。
在量角器测试中,您可以选择以下元素:
element.all(by.css('#checkbox-0-1')).get(0);