量角器单击元素直到它未被禁用

时间:2015-09-29 10:37:55

标签: angularjs protractor

我正在尝试编写测试,我的结果显示在几页上,我可以通过点击按钮转到下一页,如果没有下一页按钮被禁用,我怎么能用量角器实现呢?我的代码因allocation failed错误

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

我也尝试过在isEnabled().then上调用的递归函数,但它也不起作用。

1 个答案:

答案 0 :(得分: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
    }
}

并在代码中调用一次,如果页面是有角度的(我认为它是正确的)它将是正确的。

while在这里不起作用,“for”也是如此,因为它不能向前看,所以它不知道调用while的次数,因此allocation failed错误。