2016-01-27 18 views
0

下面的斷言代碼在CI中不起作用(可能由於緩慢),但在我的本地系統中工作得很好 在CI中,我沒有得到元素列表在全部或返回的實際元素量角器: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);