Установите все флажки в раскрывающемся списке - PullRequest
0 голосов
/ 24 мая 2019

Я новичок в node.js / protractor и хочу выбрать все флажки в раскрывающемся списке. Мой код работает, но есть проблема с 2 из элементов, которые имеют одинаковый текст. Когда выбрано, оба проверяются. В моем коде я хочу пропустить эти 2 элемента, но сравнение текста не работает.

Поскольку при выборе одного из этих дублирующих элементов проверяются оба, при выборе второго отменяется выбор обоих. Для простоты я предпочел бы просто пропустить их, когда они найдены в цикле forEach.

element.all(by.xpath('//*[@id="work-bench"]/div[1]/div[1]/div/div[5]/div/div[3]/ul')).all(by.className('checkbox')).then(function(totalDCs) {                                
    console.log('DCs in Dropdown List ' + (totalDCs.length));
    DCCount = totalDCs.length;
});

element.all(by.className('multiselect__element')).then(function(options) {
    var i = 0; 
    var j = 1;
    options.forEach(function(option) {
        option.getText().then(function(text) {
            console.log(text + ' was selected');
            i++;                                   
            if(text != 'FULFILLMENT') {
                option.click();
                if(DCCount-j == i) {
                    return DCCount;
                }
            }
            else {
                j++;
                console.log('j equals ' + j);
            }    
        });
    });
});

Строка if (text! = 'FULFILLMENT') не распознает совпадение и, таким образом, выполняет выбор (дважды).

1 Ответ

0 голосов
/ 24 мая 2019

Попробуйте использовать

if(text !== 'FULFILLMENT')

или

if(!text.localeCompare('FULFILLMENT'))

и скажите нам, если это работает для вас

...