управлять таблицами jquery с помощью watin - PullRequest
0 голосов
/ 24 августа 2011

Я использую Watin с Cucumber и Specflow для автоматизации тестирования веб-приложения с помощью таблицы jquery. Я хочу найти конкретные данные в таблице, но я не знаю, как получить доступ к таблице. Когда я нахожу данные, которые ищу, я хочу вернуть идентификатор строки, чтобы передать ее по URL-адресу, который ведет на страницу удаления, чтобы я мог удалить данные. Это мой код на странице:

<tr id="S-1-5-21-373314506-2757628719-1954316189-3686" class="ui-widget-content jqgrow ui-row-ltr" role="row" tabindex="-1">
<td class="ui-state-default jqgrid-rownum" aria-describedby="list_rn" title="2" style="text-align:center;" role="gridcell">2</td>
<td aria-describedby="list_Actions" title="Edit | Details | Delete" style="" role="gridcell">
<a href="/Budget.Administrator/User/Edit?id=S-1-5-21-373314506-2757628719-1954316189-3686">Edit</a>

| Подробнее | Удалить Ивана Багур

Итак, в этом примере я хочу просмотреть мою таблицу и, когда я найду Ивану Багур, вернуть атрибут tr id, чтобы я мог передать этот атрибут id для эффективного удаления элемента. Может кто-нибудь дать мне идею, как пройти через таблицу, пока я не найду данные, а затем перехватить идентификатор tr?

1 Ответ

0 голосов
/ 26 августа 2011

Во-первых, что-то не так в коде, который вы разместили, поскольку он не совсем корректно отображается;почему-то у вас есть реальные ссылки для отображения, начиная с «подробностей», а не вашего кода.

Чтобы найти идентификатор TR .... общая идея:

  1. Найти элемент, содержащий Ивана Багур
  2. Найдите предка этого элемента, который является TR.

Если Ивана - просто текст в табличной ячейке, он может выглядеть следующим образом:

string IvanaRowID = ((TableRow)(myIE.Table(myID).tablecell(Find.ByText(myRegexContainingIvanaBagur)).Ancestor("tr"))).Id;

Он имеетс тех пор, как я это сделал, мое кастинг может быть немного неоптимальным, но общая идея есть.

...