Unit testing 利用Gitlab变量的Cypress
我目前正在使用它作为测试工具,在gitlab ci上运行时遇到了一个小问题 问题 我的Cypress测试目前有一部分使用了敏感的信用卡信息,所以当我将其上传到gitlab存储库时,我必须尝试找出一种方法,防止任何人查看上述“敏感信息”。最后,我尝试利用Gitlab便捷的“秘密变量”功能 设置完所有需要隐藏的变量后,我进入我的gitlab-ci.yml文件并进行设置,以便.gitlab-ci.yml文件创建一个名为“cypress/support/PaymentCredentials.js”的新文件,并且在该文件中,所有敏感的支付信息都将存储为javascript变量(如下所示) 当我运行管道时,我仍然收到一个错误,指出“持卡人姓名”尚未定义:Unit testing 利用Gitlab变量的Cypress,unit-testing,continuous-integration,gitlab,gitlab-ci,cypress,Unit Testing,Continuous Integration,Gitlab,Gitlab Ci,Cypress,我目前正在使用它作为测试工具,在gitlab ci上运行时遇到了一个小问题 问题 我的Cypress测试目前有一部分使用了敏感的信用卡信息,所以当我将其上传到gitlab存储库时,我必须尝试找出一种方法,防止任何人查看上述“敏感信息”。最后,我尝试利用Gitlab便捷的“秘密变量”功能 设置完所有需要隐藏的变量后,我进入我的gitlab-ci.yml文件并进行设置,以便.gitlab-ci.yml文件创建一个名为“cypress/support/PaymentCredentials.js”的新文
对于这种情况,有没有建议采取的方法?我搞错什么可笑的事了吗 不管怎样,我感谢你的帮助 以下是几种方法: CLI中的环境变量
- 将秘密变量作为参数传递给
命令,以创建cypress环境变量cypress ci
cypress ci --env CARDHOLDER_NAME=$CARDHOLDER_NAME,CARD_CC=$CARD_CC
Cypress.env('CARDHOLDER_NAME') Cypress.env('CARD_CC')
- 稍后在测试中,访问Cypress环境变量
cypress ci --env CARDHOLDER_NAME=$CARDHOLDER_NAME,CARD_CC=$CARD_CC
Cypress.env('CARDHOLDER_NAME') Cypress.env('CARD_CC')
- 您可以在尝试导出秘密变量时进行导出,但是您需要将
附加到该变量,以便在测试中访问它CYPRESS\uuu
export CYPRESS_CARD_CC=$CARD_CC
- 稍后在测试中,访问导出的变量
Cypress.env('CARD_CC')
- 使用Cypress'
获取秘密变量的内联exec
cy.exec("echo $CARDHOLDER_NAME").its("stdout").then(function(stdout){ cy.get('#name').type(stdout) })
- 将秘密变量作为参数传递给
命令,以创建cypress环境变量cypress ci
cypress ci --env CARDHOLDER_NAME=$CARDHOLDER_NAME,CARD_CC=$CARD_CC
Cypress.env('CARDHOLDER_NAME') Cypress.env('CARD_CC')
- 稍后在测试中,访问Cypress环境变量
cypress ci --env CARDHOLDER_NAME=$CARDHOLDER_NAME,CARD_CC=$CARD_CC
Cypress.env('CARDHOLDER_NAME') Cypress.env('CARD_CC')
- 您可以在尝试导出秘密变量时进行导出,但是您需要将
附加到该变量,以便在测试中访问它CYPRESS\uuu
export CYPRESS_CARD_CC=$CARD_CC
- 稍后在测试中,访问导出的变量
Cypress.env('CARD_CC')
- 使用Cypress'
获取秘密变量的内联exec
cy.exec("echo $CARDHOLDER_NAME").its("stdout").then(function(stdout){ cy.get('#name').type(stdout) })
- 以下是一些方法:
CLI中的环境变量