Автослалом. JDI 2.0 @JTable define
Вопрос о библиотеке JDI 2.0 - расширение над Selenium - для веб-автотестирования.
com.epam.jdi.uitests.web.selenium.elements.pageobjects.annotations.objects.JTable; com.epam.jdi.uitests.web.selenium.elements.complex.table.DynamicTable;
Есть страница объекта Table с аннотацией @JTable. Таблицы на сайте, который мы тестируем, имеют следующие особенности: * строка заголовков хранится отдельно от строк данных (разные таблицы) * ячейки могут содержать различные элементы внутри (span, var, link, checkbox). Структура следующая:
<table>
<colgroup>
<thead>
<tr>
<th>
<span>Item No</span>
</th>
<th>
<span>Date of Service</span>
</th>
...
</tr>
</thead>
<tbody>
<tr>
<td>
<span>105</span>
</td>
<td>
<var>bla-bla-bla</var>
</td>
...
</tr>
<tr>
...
</tr>
</tbody>
</table>
Я попытался определить таблицу с аннотацией:
@JTable (
root = @FindBy (xpath = "// div [@ id = 'items-grid'] / table / tbody"),
row = @FindBy (xpath = "/ tr [% s] / td"),
column = @FindBy (xpath = "/ tr / td [% s]"),
headers = @FindBy (xpath = "/../thead/tr/th/span")
)
public DynamicTable itemsTable;
Но возникает ошибка: получить ячейку (1,2) не удалось, org.openqa.selenium.remote.RemoteWebElement не может быть приведен к com.epam.jdi.uitests.core.interfaces.complex.tables.ICell
Я пытался добавить / удалить /span, чтобы поставить root в таблицу и tbody в строки и столбцы. Все та же ошибка. Кто более опытен с библиотекой JDI - не могли бы вы посоветовать, что попробовать?