如何从量角器表中获取标头?

时间:2019-01-04 04:46:23

标签: protractor

我的角度应用程序中有桌子。如何遍历表标题并比较其中的标题?

以下是示例html代码。


<table>
        <tbody> 
             <th>
                <td>head1</td>
                <td>head2</td>
                <td>head2</td>
            </th>

            <tr>
                <td>row1Col1</td>
                <td>row1Col2</td>
                <td>row1Col3</td>
            </tr>

            <tr>
                <td>row2Col1</td>
                <td>row3Col2</td>
                <td>row4Col3</td>
            </tr>

            <tr>
                <td>row3Col1</td>
                <td>row3Col2</td>
                <td>row3Col3</td>
            </tr>

        </tbody>
    </table>

如何遍历列数(标题)。

1 个答案:

答案 0 :(得分:1)

方法1

var expectHeaders = ['head1', 'head2', 'head3'];
var headers = element.all(by.css('table > tbody > th > td'));

expect(headers.getText()).toEqual(expectHeaders);

//or do assertion in then()
headers.getText().then(function(actualHeaders){
  expect(actualHeaders).toEqual(expectHeaders);
  // or compare header one by one in loop
  expectHeaders.forEach(function(expectHeader, index){
     expect(actualHeaders[index]).toEqual(expectHeader);
  })
})

方法2
    如果您想遍历每个标头

var expectedHeaders = ['head1', 'head2', 'head3'];
var headers = element.all(by.css('table > tbody > th > td'));

expectedHeaders.forEach(function(header, index){
   expect(headers.get(index).getText()).toEqual(header);
   // or compare in then()
   headers.get(index).getText().then(function(actual){
      expect(actual).toEqual(header)
   })
});