如何将 Bitbucket 管道存储库变量传递给 npm 运行 脚本?
How to pass Bitbucket pipeline repository variables to npm run script?
如何将 Bitbucket 存储库变量传递到我在管道中 运行 npm run
的 Cypress.io 测试脚本?
管道和测试工作正常,但我无法将 Bitbucket 变量获取到测试文件本身。我可以按照 Bitbucket 在存储库变量页面上提供的说明从 bitbucket-pipeline.yml
访问存储库变量,但我无法访问 cypress/integration/example.js
中的变量。我想存储测试脚本用作 Bitbucket 存储库变量的凭据。
这是我的代码...
bitbucket-pipeline.yml
image: cypress/included:3.2.0
pipelines:
custom:
robot:
- step:
script:
- printenv
- npm ci
- npm run e2e
- 使用赛普拉斯提供的图像
- 我可以通过
printenv
查看我的存储库变量
package.json
{
...
"scripts": {
"e2e": "cypress run"
},
...
"dependencies": {
"cypress": "^9.4.1"
}
}
cypress/integration/example.js
describe('A', () => {
it('should B', () => {
cy.visit('https://google.com');
});
});
- 我想在
it('should B' ...)
方法中使用 Bitbucket 存储库变量。
在此先感谢您的帮助。
我找到了关于环境变量的 Cypress.io 文档:
https://docs.cypress.io/guides/guides/environment-variables
bitbucket-pipeline.yml
image: cypress/included:3.2.0
pipelines:
custom:
robot:
- step:
script:
- npm ci
- export CYPRESS_example=$example
- export CYPRESS_whatever=$whatever
- npm run e2e
其中 example 是 Bitbucket 存储库变量的名称。可能区分大小写。
添加 $ 以引用 bitbucket-pipeline.yml
文件中的 Bitbucket 存储库变量。
使用CYPRESS_将其标识为赛普拉斯环境变量。
https://docs.cypress.io/guides/guides/environment-variables#Option-3-CYPRESS_
然后你可以通过Cypress.env("example")
在测试规范中使用它
实际上我不得不进行类型转换,因为 Bitbucket 提供了意想不到的数据类型...
cy.get('[name="password"]').clear().type(Cypress.env("example").toString());
您可以使用该插件为每个部署设置配置文件,当 运行 脚本时,您可以将哪个环境设置为 运行 如果在管道。
npx 赛普拉斯 运行 --env version="qa"
npx cypress 运行 --env version="prod"
如何将 Bitbucket 存储库变量传递到我在管道中 运行 npm run
的 Cypress.io 测试脚本?
管道和测试工作正常,但我无法将 Bitbucket 变量获取到测试文件本身。我可以按照 Bitbucket 在存储库变量页面上提供的说明从 bitbucket-pipeline.yml
访问存储库变量,但我无法访问 cypress/integration/example.js
中的变量。我想存储测试脚本用作 Bitbucket 存储库变量的凭据。
这是我的代码...
bitbucket-pipeline.yml
image: cypress/included:3.2.0
pipelines:
custom:
robot:
- step:
script:
- printenv
- npm ci
- npm run e2e
- 使用赛普拉斯提供的图像
- 我可以通过
printenv
查看我的存储库变量
package.json
{
...
"scripts": {
"e2e": "cypress run"
},
...
"dependencies": {
"cypress": "^9.4.1"
}
}
cypress/integration/example.js
describe('A', () => {
it('should B', () => {
cy.visit('https://google.com');
});
});
- 我想在
it('should B' ...)
方法中使用 Bitbucket 存储库变量。
在此先感谢您的帮助。
我找到了关于环境变量的 Cypress.io 文档: https://docs.cypress.io/guides/guides/environment-variables
bitbucket-pipeline.yml
image: cypress/included:3.2.0
pipelines:
custom:
robot:
- step:
script:
- npm ci
- export CYPRESS_example=$example
- export CYPRESS_whatever=$whatever
- npm run e2e
其中 example 是 Bitbucket 存储库变量的名称。可能区分大小写。
添加 $ 以引用 bitbucket-pipeline.yml
文件中的 Bitbucket 存储库变量。
使用CYPRESS_将其标识为赛普拉斯环境变量。 https://docs.cypress.io/guides/guides/environment-variables#Option-3-CYPRESS_
然后你可以通过Cypress.env("example")
实际上我不得不进行类型转换,因为 Bitbucket 提供了意想不到的数据类型...
cy.get('[name="password"]').clear().type(Cypress.env("example").toString());
您可以使用该插件为每个部署设置配置文件,当 运行 脚本时,您可以将哪个环境设置为 运行 如果在管道。
npx 赛普拉斯 运行 --env version="qa" npx cypress 运行 --env version="prod"