量角器无法从表中找到值

时间:2018-04-02 10:56:37

标签: angularjs selenium automation protractor cucumber

我有一个显示搜索结果的表格,它是这样的:

   <table>
    <tbody _ngcontent-c4="">
      <tr _ngcontent-c4="">
        <td _ngcontent-c4="" class="owner">company name</td>
        <td _ngcontent-c4="" class="name"> other name/a></td>
        <td _ngcontent-c4="" class="status">kasutusel</td>
        <td _ngcontent-c4="" class="approval-status">kooskõlastamata</td>
        <td _ngcontent-c4="" class="topics">value</td>
        <td _ngcontent-c4="" class="last-modified text-nowrap">value</td>
      </tr>

      <tr _ngcontent-c4="">
        <td _ngcontent-c4="" class="owner">value</td>
        <td _ngcontent-c4="" class="name"></td>
        <td _ngcontent-c4="" class="name"></td>
        <td _ngcontent-c4="" class="status">kasutusel</td>
        <td _ngcontent-c4="" class="approval-status">some value/td>
        <td _ngcontent-c4="" class="topics">some value</td>
        <td _ngcontent-c4="" class="last-modified text-nowrap">table value</td>
      </tr>
    </tbody>
  </table>

我无法让量角器找到第一个元素,比如“所有者”,我的代码是:

        var rows = tabledata.all(by.tagName("tr"));
       var cells = rows.all(by.className("owner"));
       await expect(cells.get(0).getText()).to.eventually.equal("company name");

我得到:尝试访问index:0处的元素,但只有0个元素匹配locator By(css selector,.owner)

测试用例如下:1。转到主页,2。按字符串搜索,3。转到结果页面并验证表格中的结果。我有一种感觉它没有从重定向的页面获得任何元素,虽然我已经尝试过浏览器睡眠并等待角度。当我运行测试时,它会转到重定向页面,显示表格,然后结束。

1 个答案:

答案 0 :(得分:0)

您可以直接找到所有.owner td,如下所示:

var owners = tabledata.all(by.css('tr > td.owner'));
expect(owners.get(0).getText()).to.eventually.equal("company name");