управлять таблицами jquery с помощью watin

Я использую 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>

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

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


person Patricia    schedule 24.08.2011    source источник


Ответы (1)


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

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

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

Если Ивана — это просто текст в табличной ячейке, это может выглядеть так:

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

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

person OCary    schedule 25.08.2011