2014-12-17 2 views
2

Я использую раскрывающийся список углового мультивыбора от https://github.com/isteven/angular-multi-select. Теперь я хочу написать тестовые примеры в транспортир.Как проверить угловое раскрытие выпадающего списка с помощью транспортира?

<div ng-show="!attribute.isMultivalued && page != 'view'" 
    class="select-group" 
    multi-select 
    input-model="typesDataDup" 
    output-model="attribute.types" 
    button-label="typeName"   
    item-label="typeName" 
    tick-property="ticked" 
    selection-mode="single" 
    helper-elements="filter" 
    is-disabled = "page == 'view'"> 
</div> 

Я не могу отправить данные с использованием модели, потому что здесь мы не упоминаем ng-model.

Может ли кто-нибудь помочь мне в письменной форме для проверки?

ответ

1

Чтобы решить эту проблему я взял Css помощь. Я проверил CSS в инспектировать элемент, то я получил это решение

element.all(by.buttonText('None selected')).then(function(items) { 
    items[1].click(); 
}); 
element.all(by.model('inputLabel.labelFilter')).then(function(items) { 
    items[1].sendKeys(protractor.Key.DOWN+protractor.Key.DOWN); 
}); 
ptor.sleep(200); 
element.all(by.css('.multiSelectFocus')).then(function(items) { 
    items[0].click(); 
}); 

Здесь я выбирающий конкретный вариант с помощью клавиши ВНИЗ

3

Чтобы найти элемент, вы можете положиться на другие атрибуты и использовать by.css. Например:

element(by.css('div.select-group')) 

или

element(by.css('div[multi-select]')) 

Насколько я вижу из angular-multi-select source code, выберите параметры представлены с кнопкой элементов. Используйте element.all(), чтобы найти все кнопки внутри и нажмите нужный номер, например, Select All:

element.all(by.css('div[multi-select] button')).then(function(options) { 
    options.forEach(function(option) { 
     option.getText().then(function(text) { 
      if (text.indexOf("Select All") != -1) { 
       option.click(); 
      } 
     }); 
    }); 
}); 
+0

Благодаря @alecexe. Да, но он не может выбрать конкретную опцию, используя этот код –

+0

@AnushaNilapu, это нормально, это была интересная задача. Я оставлю это здесь, если это поможет кому-то в будущем. Спасибо, что поделились своим решением! – alecxe

+0

да, это может помочь другим –

Смежные вопросы