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

Cypress如何使用.each()比较文本值并检测表格重复数据

Cypress 表格重复值校验问题及解决

场景说明

做Cypress测试时需要读取表格内容比对所有文本值,若同一个值出现两次则判定测试不通过。

最初实现及问题

最初尝试通过计数器实现该逻辑:计数器达到2时触发失败,但Cypress的文本值比对始终不生效,无法进入if语句块,示例代码如下:

let duplicateCounter = 0

cy.get('[data-cy="projectList"]')
   .find('[data-cy="project.name"]')  // 给表格自定义的选择器标记
   .each((MyElement, MyIndex, MyContentOfArray) => {
   cy.wrap(MyElement.text())
   .then( (tmp) => { 
       cy.log('tmp = ' + tmp)
       if(tmp == "001_AA_Testproject") // 文本比对不生效,始终无法进入该代码块
       {
           cy.log('============================================ if Block ' )
           duplicateCounter += 1
       }
   cy.log('duplicateCounter = ' + duplicateCounter)
})

cy.get(duplicateCounter ).should('eq',1) 

核心疑问:如何在.each()循环中正确使用if语句完成值判断?

可行解决方案

该方案由Alapan Das提供:

var projectName =  '00_AA_Testprojekt Duplikatscheck';

 cy.get('[data-cy="projectList"]')
   .find('[data-cy="project.name"]')
   // .filter(':contains("00_AA_Testprojekt Duplikatscheck")')
   .filter(':contains("' + projectName + '")')
   .should('have.length', 1)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 15:15:07