Доступ к первому столбцу первой строки таблицы в Protractor - PullRequest
0 голосов
/ 03 марта 2019
               <tr ng-repeat="a in people">
                    <td>
                        {{a.firstname}}
                    </td>
                    <td>
                        {{a.lastname}}
                    </td>
                    <td>
                        {{a.email}}
                    </td>
                </tr>

код транспортира

   var firstname = element.all(by.repeater('a in people'));          
   expect(firstname.get(0).getText()).toEqual('george');

Возвращает всю первую строку.Как мне получить первый столбец?Спасибо

Ответы [ 2 ]

0 голосов
/ 03 марта 2019

Технически, когда ng-repeat выполняется, он будет повторять элемент в dom. В вашем случае тег

будет повторяться.Поэтому element.all (by.repeater ('a in people')) приводит к нескольким строкам, поэтому метод get (0) вернет первую строку.

Мы можем использовать следующий код, чтобы получить первый столбец первогострока.

      var firstname = element(by.repeater('a in people').row(0).column('a.firstname')); 
      expect(firstname.getText()).toEqual('xyz');       
0 голосов
/ 03 марта 2019

Вы можете получить это так:

 var all = element.all(by.repeater('a in people')).all(by.css('td'));          
 expect(all.get(0).getText()).toEqual('george');

element.all(by.repeater('a in people')); он найдет только один элемент.Если на странице будет два элемента с этим повторителем текста, он найдет два.Но вам нужно сделать поиск также по td.

...