Cypress测试文件中Import导入Page Object失效问题求助
问题分析与解决
报错“Login is declared but it's value is never read”的核心原因是:你导入了Login类,但既没有实例化使用它,又错误地尝试调用cy.Login()——Cypress默认不存在这个命令,同时IDE检测到导入的Login变量未被使用,所以抛出提示。
解决方案一:正确使用Page Object类
修改测试文件代码,先实例化Login类,再调用类中的方法:
import Login from '../support/PageObjects/Login' beforeEach('Login to shipment page',() => { // 创建Login类的实例 const loginPage = new Login() // 执行登录步骤 loginPage.username() loginPage.password() loginPage.loginbtn() })
解决方案二:封装为Cypress自定义命令
如果希望保留cy.Login()的调用方式,可以把登录逻辑封装成自定义命令:
- 在
cypress/support/commands.js中添加如下代码:
import Login from './PageObjects/Login' Cypress.Commands.add('Login', () => { const loginPage = new Login() loginPage.username() loginPage.password() loginPage.loginbtn() })
- 修改测试文件,移除Login类的导入,直接使用自定义命令:
beforeEach('Login to shipment page',() => { cy.Login() })
内容的提问来源于stack exchange,提问作者Aishwarya
相关产品推荐
相关产品推荐

