2015-09-29 23 views
1

我想寫一個測試,我的結果顯示在幾頁上,我可以通過點擊按鈕去下一頁,如果沒有下一頁按鈕被禁用,我怎麼能用量角器實現它?我的代碼失敗allocation failed錯誤量角器點擊元素,直到它沒有被禁用

while(element(by.css('[ng-click="vm.nextPage()"]')).isEnabled()) 
{ 
element(by.css('[ng-click="vm.nextPage()"]')).click(); 
} 

我也曾嘗試與呼籲isEnabled().then遞歸函數,但它也不起作用。

回答

3

你應該在這裏使用遞歸:

var nextPage = function() { 
    if (element(by.css('[ng-click="vm.nextPage()"]')).isEnabled()) { 
     element(by.css('[ng-click="vm.nextPage()"]')).click(); 
     nextPage(); // next page 
    } 
    else { 
     return; // the element is not enabled, last page 
    } 
} 

並調用它曾經在你的代碼,如果該頁面是角(我假設它是)它是正確的。

這裏雖然不會在這裏工作,對於「for」也是一樣,因爲它不能向前看,所以它不知道這個while會被調用多少次,因此allocation failed錯誤。

+0

看起來我已經接受它太早了,我添加'.click()。然後...... weel函數很好,但它似乎跳轉到無限遞歸調用,所以它永遠不會結束 – whd

+0

你可以嘗試和交換'if(元素(by.css('[ng-click =「vm.nextPage()」)'))。isEnabled()){' with'element(by.css('[ng-click =「 vm.nextPage()「]'))。isEnabled()。then(function(value){if(value){...' – vrachlin

相關問題