You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cypress点击多组元素时避免出现无限循环的解决方案

问题描述

在多个测试场景中需要点击一组结构相同的元素,不希望通过循环遍历实现,此前未找到合适的解决方案。

原实现代码会陷入无限循环,示例如下:

for(let n = 1; n <= 19; n++){
        cy.get('li.active > .nav > :nth-child(n) > a').click({multiple: true})
        cy.wait(400)
    }

测试场景说明:共有19个结构完全相同、仅序号从1到19的元素,测试期望依次点击每个元素,等待页面加载渲染完成后再点击下一个元素。

解决方案

使用Cypress内置的each()方法替代普通for循环即可解决无限循环问题,实现代码如下:

cy.get('#side-menu > :nth-child(2) > a').click()
cy.wait(400)
cy.get('li.active > .nav').each(($ele) => {
  cy.wrap($ele).find('a').click({multiple:true})
})

另一个同类会无限运行的for循环,也可替换为each()方法实现,代码如下:

cy.get('#side-menu > li > a').each(($ele) => {
  cy.wrap($ele).click({multiple:true})
})

内容的提问来源于stack exchange,提问作者HyeEun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 21:18:04