Geo*_*rge 0 node.js npm package.json cypress cypress-configuration
我希望能够通过修改 的值在任何 URL 上运行我的 Cypress 脚本,baseUrl但该命令不会更改它。
"cypress open --env version=development --config baseUrl=https://google.com"
Run Code Online (Sandbox Code Playgroud)
我也尝试过 env 变量,但这也不起作用:
"cypress:open:dev": "cypress open --env version=development,baseUrl=https://google.com"
Run Code Online (Sandbox Code Playgroud)
配置文件:
export default defineConfig({
e2e: {
async setupNodeEvents(on, config) {
const version = config.env.version || 'development'
const configFile = await import(path.join(
config.projectRoot,
'cypress/config',
`${version}.json`
));
const credentialsFile = await import(path.join(
config.projectRoot,
'cypress/config',
'credentials.json'
));
config = {
...config, // take config defined in this file
...configFile // merge/override from the external file
}
config.env = {
...config.env, // 2nd level merge
...credentialsFile[version] // from git-ignored file
}
config.baseUrl = configFile.baseUrl
return config
},
reporter: 'mochawesome'
},
});
Run Code Online (Sandbox Code Playgroud)
开发.json:
{
"env": {
"baseUrl": "https://test.com",
}
}
Run Code Online (Sandbox Code Playgroud)
小智 6
您将覆盖这些config.env设置,并且必须将它们合并回配置中。
export default defineConfig({
e2e: {
async setupNodeEvents(on, config) {
...
config = {
...config, // take config defined in this file
...configFile, // merge/override from the external file
env: {...config.env} // don't merge env
}
...
return config
},
reporter: 'mochawesome',
// baseUrl: 'http://example.com', // cannot use this with above merge!!
},
})
Run Code Online (Sandbox Code Playgroud)
不过,如果您这样做,则无法baseUrl直接设置,因为它将优先于development.json.
问题是,为什么env.baseUrl在development.json?为什么不遵循标准约定和使用
开发.json:
{
"baseUrl": "https://test.com",
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
593 次 |
| 最近记录: |