Я строю тест, который должен искать в таблице и находить объект по имени столбца. Проблема в том, что в имени столбца есть пробел, например: «Дружественное имя»
Мне просто интересно, как получить инфраструктуру atata, чтобы найти это. Пользовательские параметры поиска, такие как [Term("Friendly name")]
, не работают в табличных объектах.
Я также пытался использовать [Term(TermCase.Sentence)]
, и он компилируется, но не работает и с таблицами. Я еще не очень знаком с ататой, чтобы знать, как заставить это работать должным образом. Компилятор "Невозможно найти видимый столбец".
Вот строка кода теста:
pageObject.Table.Rows.Count.Get(out count).
Table.Rows[x => x.Friendly name == "OBJECTNAME"].Click().
Любой совет был бы очень полезен.
<thead class="MuiTableHead-root-325">
<tr class="MuiTableRow-root-326 MuiTableRow-head-329">
<th class="MuiTableCell-root-331 MuiTableCell-head-332" scope="col">Column name</th>
<th class="MuiTableCell-root-331 MuiTableCell-head-332" scope="col">Column name2</th>
</tr>
</thead>
<tbody>
<tr class="MuiTableRow-root-326">
<td class="MuiTableCell-root-331 MuiTableCell-body-333">TESTCELL</td>
<td class="MuiTableCell-root-331 MuiTableCell-body-333">TESTCELL2</td>
</tr>
</tbody>
Пример Xpath: div[@id="root"]/div[2]/main/div[2]/div/div/table/tbody/tr[12]/td[1]
Как видите, в элементах, с которыми я могу работать, не так много. Эти таблицы генерируются динамически, поэтому информация может быть перемещена или удалена, но для целей тестирования это не является большой проблемой.
{
using _ = Example;
public class Example : Page<_>
{
public Table<ExampleTableRow, _> Table { get; private set; }
public class ExampleTableRow : TableRow<_>
{
[Term(TermCase.Sentence)]
public Text<_> ColumnName { get; private set; }
public Clickable<_> Edit { get; private set; }
}
[FindByXPath("div[@id='root']/div[2]/path/input")]
public TextInput<_> RenameTest { get; private set; }
}
}
and the class..
int count;
Go.To<ExampleTable>().
Table.Rows.Count.Get(out count).
Table.Rows[x => x.ColumnName == "Friendly name"].Edit.Click().
RenameTest.Set("Reanametest").