我正在使用react-virtualized来选择一个冗长(1000 多个)的项目列表。我正在尝试设置一个端到端测试,该测试需要单击当前未呈现的元素之一。
通常,我只会使用类似的东西:
await t.click(
ReactSelector('ListPage')
.findReact('ListItem')
.nth(873) // or .withText(...) or .withProps(...)
)
但是因为只ListItem
呈现了s 的一小部分,TestCafe 无法找到所需的元素。
我一直在试图弄清楚如何使用 TestCafe 的ClientFunction来滚动列表容器,以便ListItem
呈现所需的内容。
但是,我遇到了几个问题:
- 有没有办法共享
Selector
到ClientFunction
DOM 元素的 scrollTop 并修改它?还是我必须直接通过 DOM 重新查询元素? - 由于
ListItem
s 的高度不同,滚动位置不是简单的 index x item 高度计算。如何在此功能中保持更新/滚动,直到所需Selector
的可见?