使用赛普拉斯,我可以轻松地测试我的dev子域.我有一个角度/反应应用程序,当我创建dist(包括index.html)时,我想对构建的文件运行赛普拉斯测试.
不幸的是,在开始赛普拉斯测试之前,我不知道如何提供dist文件夹(比如serve包npm).
我知道我可以index.html在另一个终端选项卡上提供服务,但这不会发生在CircleCi(我的CI)上.
无论如何,在开始实际测试之前,赛普拉斯是否可以替换localhost并提供静态文件?
我目前使用Cypress作为我的测试工具,并且在 gitlab ci 上运行它时遇到了一个小问题。
我的 Cypress 测试的一部分目前使用敏感的信用卡信息,所以当我将它上传到 gitlab 存储库时,我不得不尝试找出一种方法来防止任何人查看所说的“敏感信息”。最终,我尝试利用 Gitlabs 方便的“秘密变量”功能。
在设置了所有需要隐藏的变量后,我进入了 gitlab-ci.yml 文件并进行了设置,以便 .gitlab-ci.yml 文件创建一个名为“cypress/support/PaymentCredentials.yml”的新文件。 js”,并且在该文件中,所有敏感的付款信息都将存储为 javascript 变量(如下所示)
image: bahmutov/cypress-image
# caching node_modules folder
# https://about.gitlab.com/2016/03/01/gitlab-runner-with-docker/
cache:
paths:
- node_modules/
before_script:
- cypress verify
- "echo -e \"export default {CARDHOLDER_NAME: '$CARDHOLDER_NAME', CARD_CC: '$CARD_CC', CARD_CC_MONTH: '$CARD_CC_MONTH', CARD_CC_YEAR: '$CARD_CC_YEAR', CARD_CC_CCV: '$CARD_CC_CCV'}\" > cypress/support/PaymentCredentials.js"
stages:
- build
- test
build-specs:
stage: build
script:
- npm install
artifacts:
paths:
- cypress/integration
.job_template: &e2e_test_definition
script:
- echo $CARDHOLDER_NAME
- export $CARDHOLDER_NAME …Run Code Online (Sandbox Code Playgroud) continuous-integration unit-testing gitlab gitlab-ci cypress