Я использую react-virtualized для длинного (более 1000) списка элементов для выбора. И я пытаюсь настроить сквозной тест, который требует нажатия на один из элементов, которые в настоящее время не отображаются.
Обычно я бы просто использовал что-то вроде:
await t.click(
ReactSelector('ListPage')
.findReact('ListItem')
.nth(873) // or .withText(...) or .withProps(...)
)
Но поскольку отображается только небольшое подмножество ListItem
, TestCafe не может найти нужный элемент.
Я пытался понять, как использовать TestCafe ClientFunction для прокрутки контейнера списка для отображения желаемого ListItem
.
Однако я сталкиваюсь с несколькими проблемами:
- Есть ли способ поделиться
Selector
сClientFunction
и изменить scrollTop элемента DOM? Или мне нужно повторно запросить элемент через DOM напрямую? - Поскольку
ListItem
s имеют разную высоту, положение прокрутки не является простым вычислением высоты элемента индекса x. Как я могу продолжать обновлять / прокручивать эту функцию до тех пор, пока не появится желаемыйSelector
?