我正在使用ionic 2
基于angular 2
和protractor
测试应用。我想测试是否以及何时检查ion-checkbox
。假设页面中只有一个复选框,我试过这个:
var checkBox = element(by.css('ion-checkbox'));
expect(checkBox.isSelected()).toBe(true);
上述测试无法正常运行,因为即使选中了复选框,属性isSelected()
始终为false
。据我所知,没有财产isChecked()
。我怎么测试呢?
答案 0 :(得分:0)
有一个类似的问题,我这样做的方式是使用Javascript,你基本上使用indexOf
检查它的存在,检查下面的代码并适当地适用于你的情况。
$scope.checkItem = function(item) {
console.log(item);
// Picked items contain an array you push items into when the checkbox is clicked
var check = pickedItems.toString();
var ind = check.indexOf(item);
console.log(ind);
if (ind === -1) {
// not checked
pickedItems.push(item);
console.log('Picked Items: '+pickedItems);
} else {
// checked, so maybe remove from array?
};
};
答案 1 :(得分:0)
尝试将视图上的对象与控制器绑定。
在HTML组件上添加:
<ion-checkbox [(ngModel)]="yourControllerVariableName"></ion-checkbox>
在您的控制器上将其声明为名为 yourControllerVariableName 的变量,然后尝试以下操作:
expect(yourControllerVariableName.checked).toBe(true);