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

Cypress Page Object Model下使用选择器方法出现should未定义报错如何解决

Cypress POM模式下Cannot read property 'should' of undefined报错解决方案

错误原因

你的save()、back()两个元素选择方法没有返回Cypress查询对象,调用this.save()时拿到的返回值为undefined,自然无法链式调用should方法。

修复方案

给两个选择器方法添加return语句,返回cy.get()的执行结果即可,修改后的代码如下:

// my selectors
save(){
    return cy.get('.text-right > .btn-success')
}

back(){
    return cy.get('#isDirtyId_return_button')
}

// my methods
checkOperations(){
    this.save().should('contain', 'Save').and('be.visible')
    this.back().should('contain', 'Back').and('be.visible')
}

补充说明

Cypress的所有DOM查询、操作API都会返回可链式调用的查询对象,使用Page Object模式封装元素方法时,必须显式把这个对象返回,才能在后续逻辑中继续调用.should()、.click()等链式API。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 03:45:04