3

我有一个 Angular 网格(ag-grid),它将基于滚动/视图在 DOM 中创建 div 以显示数据。我正在编写一个 Selenium WebDriver 测试,该测试将从网格中读取数据并将其与从 API 返回的数据进行比较。

由于一些 div 尚未创建(隐藏在 Angular 虚拟化之后),WebDriver 无法有效地捕获数据。

有没有办法强制网格显示所有数据?

4

3 回答 3

4

有一个设置,gridOptions.rowBuffer,它告诉网格在视口上方/下方渲染多少额外的行。将此设置为大于您拥有的行数的数字,然后将呈现所有行。或者如果不确定,请将其设置为 9999999。

ps你提到'Angular Grid'和'Angular Virtualization'。正确地说,它被称为“不可知论网格”——ag 代表不可知论——而且虚拟化不是 Angular,网格网格有自己的行虚拟化实现。

于 2016-03-22T07:52:13.217 回答
0

尝试设置domLayoutdomLayout = 'autoHeight'

于 2018-10-25T11:29:43.723 回答
0

尝试显式单击滚动条或平移​​滚动区域,以使所需的 div 进入视图以强制 Angular 实例化 div。您可以尝试在实例化 div 集边缘上的已知实例化对象上滚动到视图,我想这会踢 Angular 实例化视图之外的对象,以期待继续滚动。如果需要,清洗、冲洗、重复。

这是一个关于在 Selenium 中滚动到元素的可能有用的页面:使用 Selenium 将元素滚动到视图中

于 2016-03-21T22:57:03.687 回答