2016-12-19 3 views
0

Я тестирую приложение на основе ionic 2 и angular 2 с использованием protractor. Я хотел бы проверить, когда и когда проверяется ion-checkbox. Предполагая, что есть только один чекбокс в Пейджа, я попытался это:Как проверить, проверен ли checkBox в ионном 2

var checkBox = element(by.css('ion-checkbox')); 
expect(checkBox.isSelected()).toBe(true); 

выше тест не работает должным образом как свойство isSelected() всегда false, даже если установлен флажок. Насколько я знаю, нет свойства isChecked(). Как я могу проверить его тогда?

+0

вы можете поделиться своей страницу HTML? –

ответ

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? 
    }; 
    }; 
+0

Я не видел '$ scope' в angular2 – yurzui

+0

Вам не нужно' $ scope', именно так я определил 'checkItem' как функцию, к которой можно получить доступ. – Olli

0

Попытайтесь связать объект с видом с помощью контроллера.

на компоненту оного HTML:

<ion-checkbox [(ngModel)]="yourControllerVariableName"></ion-checkbox> 

А на контроллере объявит его как переменные с именем yourControllerVariableName и попробуйте следующее:

expect(yourControllerVariableName.checked).toBe(true); 
Смежные вопросы