Cypress无法打开指定URL,配置后仍失效求助
问题诊断与修复
核心问题1:配置项读取方式错误
你的自定义命令中使用Cypress.e2e().projectUrl获取配置是错误的——Cypress并没有e2e()这个API,无法通过这种方式读取配置项。
核心问题2:配置项位置需确认
需要确保projectUrl配置在cypress.config.js的e2e对象内部,否则Cypress无法识别这个自定义配置项。
修复步骤
1. 修正自定义命令(commands.js)
改用Cypress官方提供的Cypress.config()方法读取配置项:
Cypress.Commands.add("runInWeb", () => { cy.visit(Cypress.config('projectUrl')) });
2. 确认cypress.config.js的配置结构
确保projectUrl位于e2e配置对象内,与其他配置项同级:
module.exports = defineConfig({ e2e: { "projectId": "fi4fhz", "viewportHeight": 1080, "viewportWidth": 1920, specPattern: 'cypress/e2e/**/*.{js,jsx,ts,tsx}', baseUrl: 'https://pha.mm.int:6001/', "projectUrl": "https://pha.mm.int:6001/", // 确保此配置在e2e对象内部 setupNodeEvents(on, config) { }, }, })
3. 可选优化(利用已配置的baseUrl)
既然已经配置了baseUrl,可以直接简化自定义命令,无需额外配置projectUrl:
Cypress.Commands.add("runInWeb", () => { cy.visit('/') // Cypress会自动拼接baseUrl,等价于访问https://pha.mm.int:6001/ });
内容的提问来源于stack exchange,提问作者Tomasito
相关产品推荐
相关产品推荐

