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

Cypress验证点击提交按钮后模态框内标签对应状态的实现问题

你原有代码的逻辑是关闭模态框后校验表格内的标签状态,不符合「校验模态框内标签对应状态」的要求,核心调整是在模态框可见时,限定查找范围为模态框内部,直接校验状态即可,修正后的代码如下:

// 点击submit按钮呼出模态框
cy.get('.btn.btn-primary').contains('submit').click()

// 限定查找范围为已加载完成的模态框内部,避免命中页面其他区域的元素
// 注意:此处.modal为模态框容器的通用类名,替换为你实际项目中模态框的类名即可
cy.get('.modal').should('be.visible').within(() => {
  // 校验模态框内展示的目标标签
  cy.get('.form-header').should('contain.text', 'abc')
  // 直接校验模态框内该标签对应的状态为positive
  cy.get('.badge-label').should('contain.text', 'positive').and('be.visible')
})

// 校验完成后关闭模态框
cy.get('.close-modal').click()

如果模态框内存在多组标签+状态的组合,可以先提取模态框内展示的标签文本,再关联校验对应状态,适配场景的代码如下:

cy.get('.btn.btn-primary').contains('submit').click()
cy.get('.modal').should('be.visible').within(() => {
  // 先提取模态框内的标签文本
  cy.get('.form-header').invoke('text').then(currentTag => {
    // 匹配该标签对应的状态元素完成校验
    cy.contains('td', currentTag.trim()).siblings('.badge-label').should('contain.text', 'positive')
  })
})
cy.get('.close-modal').click()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 12:45:01