如何使用用户传入的变量运行Cypress脚本并动态替换固定字段
Cypress传入自定义变量替换固定前缀实现方案
1. 修正执行命令
Cypress命令行传入多个环境变量时,参数之间需要用逗号分隔,不能用空格,修改后的运行命令如下:npx cypress run --env name=qa,wl=seedling
2. 修改spec脚本逻辑
把原代码中硬编码的motivaction替换为读取命令行传入的wl环境变量即可,修改后的完整代码如下:
/// <reference types="cypress" /> describe('Whitelabel Login', () => { it('Whitelabel Login', () => { const whitelabelBaseUrl = whitelabelUrl => { // 读取传入的白标前缀,未传时默认使用motivaction兼容原有逻辑 const wlPrefix = Cypress.env('wl') || 'motivaction' return whitelabelUrl.replace('://', `://${wlPrefix}.`) } cy.visit(whitelabelBaseUrl(Cypress.config('whitelabelUrl'))) cy.screenshot('Whitelbel Login page', { capture: 'fullPage' }) cy.visit(`${whitelabelBaseUrl(Cypress.config('whitelabelUrl'))}/logout`) cy.screenshot('Whitelbel Logout page', { capture: 'fullPage' }) }) })
3. 逻辑说明
- 命令行通过
--env传入的参数,都可以在脚本中通过Cypress.env('参数名')直接读取 - 代码中加入了默认值兜底,即使不传
wl参数,脚本仍然会沿用原来的motivaction前缀正常运行
内容的提问来源于stack exchange,提问作者Rita Basu-ghosh
相关产品推荐
相关产品推荐

