2015-09-29 28 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

相关问题