如何在 Cypress 中检查滚动到按钮?

问题描述 投票:0回答:1

我有一系列菜单项,可以滚动到页面上的不同元素。

我想循环遍历每个项目并确保它滚动到页面上的正确元素。为此,我想获取

href
值用作滚动到的目标元素。

第一次有效,但随后出现错误:

TypeError: Timed out retrying after 4000ms: Cannot read properties of undefined (reading 'toLowerCase')

这很奇怪,因为我没有在代码中使用该函数(我猜它在 Cypress 自身内部)。

有人知道这样做的正确方法吗?

我的 HTML 看起来像:

<a class="subnav_item" href="#item-1">Item 1</a>
<a class="subnav_item" href="#item-2">Item 2</a>
<a class="subnav_item" href="#item-3">Item 3</a>

我的赛普拉斯测试如下:

cy.get(".subnav_item").each(($submenuItem) => {
    let targetEl = cy.get($submenuItem).invoke('attr', 'href');
    cy.get($submenuItem).click();
    cy.wait(500);
    cy.get(targetEl).should('be.visible');
});
javascript cypress
1个回答
0
投票

参考文档的这一部分返回值

您无法分配或使用任何 Cypress 命令的返回值

既然你已经找到了带有

cy.get(".subnav_item")
的元素,你可以像这样获取它的 href

const jumpLink = $submenuItem.attr('href');
© www.soinside.com 2019 - 2024. All rights reserved.