управлявайте 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="/bg/Budget.Administrator/User/Edit?id=S-1-5-21-373314506-2757628719-1954316189-3686">Edit</a>

| Подробности | Изтриване Ивана Багур

И така, в този пример искам да мина през моята таблица и когато намеря Ivana Bagur, да върна атрибута tr id, така че след това да мога да предам този id атрибут, за да изтрия ефективно елемента. Може ли някой да ми даде идея как да премина през таблицата, докато намеря данните и след това да заснема tr id?


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


Отговори (1)


Първо, нещо не е наред в кода, който сте публикували, тъй като не се показва напълно правилно; някак си имате действителни връзки за показване, започващи от „подробности“, а не от вашия код.

За да намерите TR ID.... обща идея:

  1. Намерете елемента, съдържащ Ivana Bagur
  2. Намерете предшественика на този елемент, който е TR.

Ако Ивана е просто текст в tablcell, може да изглежда така:

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

Мина известно време, откакто направих това, и кастингът ми може да е малко неправилен / неоптимален, но общата идея е налице.

person OCary    schedule 25.08.2011