在量角器中计算页面中的webelements

时间:2018-03-19 19:56:06

标签: typescript webdriver protractor

如何在页面上获取count元素?我有:

public countElements(){
    element.all(by.repeater('app in userApps')).count().then(function(count) {
        console.log(count);
      });
      return count; // cannot find element count
}

我知道伯爵在外面是隐身但怎么算数才能被看见? 如何在方法countElements()?

中返回变量计数

1 个答案:

答案 0 :(得分:2)

public countElements(){
    return element.all(by.repeater('app in userApps')).count();
}

然后在测试中:

page.countElements().then(count => {
    console.log(count);

    expect(count).toBe(myCount);
});

要在其他方法中使用count,您可能需要使用async/await

let count = await page.countElements();
myOtherMethod(count);

或者您可以实施自己的承诺并解决它。这样的事情可以解决问题。

public countElements(){
    return new Promise((resolve, reject) => {
        element.all(by.repeater('app in userApps'))
          .count()
          .then(count => {
              if(count > 0) {
                resolve(count);
              } else {
                reject('Something went wrong...');
              }
          });
    }        
}