乐闻世界logo
搜索文章和话题

Cypress 如何禁止页面自动滚动?

4 个月前提问
3 个月前修改
浏览次数27

1个答案

1

在使用 Cypress 进行自动化测试时,默认情况下,Cypress 会尝试将要交互的元素滚动到视图中。如果您不希望 Cypress 自动滚动页面,您可以使用 { scrollBehavior: false } 作为命令的选项来禁止自动滚动。

举个例子,如果您正在使用 click() 命令:

javascript
cy.get('button').click({ scrollBehavior: false });

在这个例子中,Cypress 将点击页面上的按钮,但它不会自动将按钮滚动到可视范围内。这意味着如果按钮原本不在视窗范围内,点击可能不会发生。

您也可以在全局设置中更改滚动行为,这样您就不必在每个命令中都指定 { scrollBehavior: false }。在您的 cypress.json 配置文件中,您可以添加 scrollBehavior 配置来设置默认行为:

json
{ "scrollBehavior": false }

通过这种方式,Cypress 测试运行时将不会在任何命令中自动滚动。

请注意,禁用自动滚动可能会导致您的交互性命令(如点击或类型)无法正确执行,如果元素在执行命令时不在视口中的话。这可能会影响测试的可靠性,因为在正常浏览条件下,用户通常会滚动到元素可见后才进行交互。

2024年6月29日 12:07 回复

你的答案