如何使用量角器获取可见行(非角度)下的行数?

时间:2016-01-19 23:12:13

标签: javascript protractor

我有以下HTML:



<tr id="resultsRepeaterGrid">
 <tr id="tableheader"></tr>
  <tr id="Data list1_datarow">
    <div style>row 1</div>
    <tr id = "expanded row"></tr>
  </tr>
  <tr id="Data list2_datarow">
    <div style>row 2</div>
    <tr id = "expanded row"></tr>
  </tr>
  <tr id="Data list3_datarow">
    <div style>row 1</div>
    <tr id = "expanded row"></tr>
  </tr>
</tr>
&#13;
&#13;
&#13;

我想要的是获取<tr>的所有<tr>的孩子的计数,其ID为'resultsRepeaterGrid'。您可以在protractor代码下面找到:

&#13;
&#13;
var searchResCount = element.all(by.id('resultsRepeaterGrid'))
expect(searchResCount.count()).toEqual(3);
&#13;
&#13;
&#13;

但是我收到错误

  

预期1等于3.

我想丢弃和部分因为我只打算计算datalist_datarow下的结果行。感谢

2 个答案:

答案 0 :(得分:1)

这是一个基于上面dom结构的选择器。

var searchResCount = element.all(by.css('#resultsRepeaterGrid > tr:not(.tableheader)'))
expect(searchResCount.count()).toEqual(3);

但是,您很可能遇到时间问题。你可以尝试这样的事情:

  browser.wait(function() {
    return element(by.css('#Data')).isDisplayed();
  }, 10000);

答案 1 :(得分:0)

您的查询必须选择行,现在您只选择表元素,因此它的计数为1.

更改您的选择器以包含tr元素:

element.all(by.css('#resultsRepeaterGrid > tr'))