我试图通过使用“by.repeater”从单选按钮列表中选择一个单选按钮。单选按钮具有ng-repeat属性。我试图通过检索它来点击特定的单选按钮: - element.all(by.repeater(''))。get(i).click(),其中i是我要选择的单选按钮的索引,但未成功选中。
我尝试使用mouseMove()和mouseDown()找到确切的单选按钮,但没有任何效果。我知道我正在找到我要点击的正确的单选按钮,因为当我在上面的element.all .... get(i)值上运行getText()并在控制台上显示它时,标签/文本对应显示正确的单选按钮。
这是我的HTML代码:
<div class="radio ng-scope" ng-repeat="test in tests">
<label class="ng-binding">
<input type="radio" name="test" ng-click="setTest(test)" ng-checked="((test.length == 1 && !type.defaultSelectChoice) || (test.length != 0 && test.defaultSelectChoice))" checked="checked">
Sonia
</label>
</div>
<div class="radio ng-scope" ng-repeat="test in tests">
<label class="ng-binding">
<input type="radio" name="test" ng-click="setTest(test)" ng-checked="((test.length == 1 && !type.defaultSelectChoice) || (test.length != 0 && test.defaultSelectChoice))">
Sammy
</label>
</div>
我想为Sammy选择单选按钮。您会注意到Sonia已经被选中/被选中。我试过 - element.all(by.css('。radio.ng-scope'))。get(1).click()选择Sammy和几个元素变体。所有,但没有任何效果 -
element.all(by.css('。radio.ng-scope'))。get(1).getText()确实返回Sammy,但是 无法点击与Sammy标签对应的实际单选按钮。还尝试了setAttribute('checked'),但没有运气。
我已经研究了几乎所有关于在Stack Overflow上选择Protractor中的单选按钮的帖子,但还是无法解决这个问题。任何输入将不胜感激。谢谢!
答案 0 :(得分:0)
您使用的所有定位器都找不到单选按钮。它们都引用父div元素。要查找每个中继器内的单选按钮,请尝试以下代码。
element.all(by.repeater("test in tests")).all(by.css ("input[type='radio']")).get(0).click();