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
相关产品推荐
相关产品推荐

