2016-01-27 2 views
0

Ниже код подтверждения не работает в CI (из-за медлительности, возможно), но отлично работает в моей локальной системе В CI я не получаю список элементов вообще или он возвращает только один или два элемента в массиве действительных элементовProtractor: Assertion on arrayofelements.getText() возвращает пустой список

var expectedFromLevels = ['Level 2', 'Level 3', 'Level 4']; 
var expectedToLevels= ['Level 3', 'Level 4','Level 5']; 
expect(dashboard.getAllFromLevels()).toEqual(expectedFromLevels) 
expect(dashboard.getAllToLevels()).toEqual(expectedToLevels)//this has to be called only after getAllFromLevels is assertion is complete 

//definition of getAllFromLevels() 
    getAllFromLevels : { 
     value: function() { 
      return element.all(by.css('#from-levels .nlq-sel--level')).getText(); 
     } 
    //definition of getAllToLevels() 
    getAllToLevels : { 
     value: function() { 
      return element.all(by.css('#to-levels .nlq-sel--level')).getText(); 
      }; 

**Results::** 
In my local system: passed 

**In CI:::** 
Expected [ 'Level 2', 'Level 3' ] to equal [ 'Level 2', 'Level 3', 'Level 4' ]. 
Expected [ 'Level 3', '' ] to equal [ 'Level 3', 'Level 4', 'Level 5' ]. 

ответ

0

Я установил этот вопрос в CI, добавив браузер ожидание заявления, я знаю, что это не идеальный способ сделать, но это временное решение, которое работает для время-

getAllLevelsCount : { 
    value: function (elements, n) { 
    return function() { 
    return elements.count(function (count) { 
     return count >= n; 
    }); 
    }; 
} 
browser.wait(dashboard.getAllLevelsCount($$("cssid"), 3) , 10000); 
Смежные вопросы