2017-06-05 55 views
0

我做了循環,現在我想用量角器期望值爲每個i。 循環工作正常,但期望沒有。如果計數是4,則應該有4個期望值。如果我運行測試,我會得到通過,沒有任何期望(這應該是錯誤的)。量角器FOR循環使用期望

我找到了關於這方面的文章,但是我無法做到這一點。我嘗試了Push,但只有空值。 感謝您的幫助。

myelement.count().then(function(count){ 
     console.log("whatever", count); 
     for (var i=0; i<count; i++){ 
      var o = location.get(i); 
      expect(o.getText()).toEqual("something"); 


     }; 


    }); 
+2

你肯定這個'我> count'? –

回答

0

請注意。幾乎所有的命令都是承諾。如果你不正確處理它們,它將永遠不會工作。您需要首先解決它們,然後才能轉到下一個。

像這樣的事情可以做的伎倆

let promise; 
 
const promises = []; 
 

 
myelement.count() 
 
    .then(function(count) { 
 
    console.log("whatever", count); 
 

 
    for (var i = 0; i < count; i++) { 
 
     var o = location.get(i); 
 
     promises.push(expect(o.getText()).toEqual("something")); 
 
    }; 
 

 
    return Promise.all(promises); 
 
    });

0

全部測試用例的代碼會有所幫助,但我假設你已經忘了無論是從「它」返回一個承諾或定義和調用「完成」回調,因爲你在做什麼 - 是的異步操作。

0

您的問題描述不清楚。我假設該位置是元素列表。所以我應用每個()設置元素稱爲'位置'。它會完美地工作。

//replace location with myelement if it the correct one 
location.each(function(ele,index){ 
     expect(ele.getText()).toEqual("something"); 
});