Код, который вы показываете, является ASP. Net источником, который компилируется на сервере, поэтому HTML в браузере (HTML, с которым должен работать ваш тест) будет другим.
т.е. @foreach (var att in Model)
дает вам строку для каждого элемента в модели, а @Html.DisplayFor(modelItem => att.2)
будет переведено в конкретное содержание для столбца 2.
Поэтому было бы проще ответить, если вы запустите приложение в браузере, скопируйте и вставьте HTML из консоли.
Поскольку вы хотите выполнить поиск по столбцу 2, это может go двумя способами.
Если содержимое в столбце 2 очень уникально, например, имена, которые не появляются в других столбцах, вы можете нацелить его, просто посмотрев текст
cy.contains('td', 'text-to-search-for') // gives you the cell
.parent() // gives you the row
.within($tr => { // filters just that row
.get('td a') // finds the buttons cell of that row
.contains('DELETE') // finds the delete button
.click()
ИЛИ
cy.contains('td', 'text-to-search-for') // gives you the cell
.siblings() // gives you all the other cells in the row
.contains('a', 'DELETE') // finds the delete button
.click()
Если текст, который вы хотите поиск может появиться в столбцах, отличных от столбца 2, это становится более сложным, но скорее всего будет достаточно вышеприведенного.
Еще одна вещь, которую следует отметить, если в сценарии тестирования всегда используются одни и те же данные, например, из В файле фикстуры вы можете указать конкретные c номера строк, но это fr agile test , который потребуется переписать, если структура страницы изменится.