我需要点击默认选中的复选框。这是我的元素:
<input type="checkbox" name="filterMethods" id="filterMethods" ng-model="globalFilters.methods" class="ng-valid ng-touched ng-dirty ng-valid-parse ng-not-empty" style="">
当我手动取消选中复选框时,ng-not-empty会更改为ng-empty。
这就是我试图取消选中此复选框的方式:
element(by.css('input[name=filterMethods]')).click();
这没有显示任何错误,但元素未取消选中。有人可以建议我怎么能让它运作?我在该块中有六个这样的复选框。我需要检查并取消选中它们中的每一个以测试过滤器功能。请提出实现相同目标的最佳方法。
答案 0 :(得分:0)
您缺少属性值周围的引号。试试这个:
element(by.css('input[name="filterMethods"]')).click();
但我不确定为什么在这种情况下你不会使用Id,因为你拥有它。
element(by.css('#filterMethods')).click();
或者您甚至可以使用该模型:
element(by.model('globalFilters.methods')).click();
答案 1 :(得分:0)
我认为您的测试执行速度比测试代码快。你有没有尝试过承诺?
element(by.css('input[name=filterMethods]')).then(function(arg){
arg.click()
});
或者您可以尝试等一段时间:
browser.sleep(35000).then(function(){
element(by.css('input[name=filterMethods]')).then(function(arg){
arg.click()
})
})