前言
Cypress 是一个功能强大的端到端测试框架,适用于 Web 应用程序的自动化测试。它简化了测试流程,使开发者能够更轻松地编写和运行自动化测试。
在进行测试时,需要使用系统变量和环境变量来控制测试的行为和结果。本文将介绍如何在 Cypress 中使用系统变量和环境变量来定制测试的设置和行为。
系统变量
Cypress 支持多个系统变量,这些变量可以用来控制测试的行为和结果。以下是一些常用的系统变量:
CYPRESS_BASE_URL
:定义你的应用程序的基本 URL 地址。CYPRESS_VIDEO
:如果设置为false
,则不会在测试后生成视频。CYPRESS_REPORTER
:用于指定使用的报告插件。CYPRESS_GIT_BRANCH
:用于记录测试运行所处的 Git 分支。CYPRESS_CI
:如果设置为true
,则 Cypress 将在持续集成系统上运行。
可以在 cypress.json
文件中设置这些系统变量。例如:
{ "baseUrl": "https://www.example.com", "video": false, "reporter": "mochawesome", "env": { "GIT_BRANCH": "${env:GIT_BRANCH}" } }
其中,env
属性用于设置环境变量,${env:GIT_BRANCH}
用于引用环境变量 GIT_BRANCH
。
环境变量
如果你需要在 Cypress 中使用敏感信息,例如 API 密钥或密码,那么最好使用环境变量来存储它们。环境变量可以在代码中读取,但不会在测试代码中显示出来。
有多种方法可以在 Cypress 中设置环境变量,下面是其中两种方法。
方法一:使用 cypress.json
文件
可以在 cypress.json
文件中设置环境变量。例如:
{ "env": { "API_KEY": "abc123", "PASSWORD": "mypassword" } }
可以在测试代码中通过 Cypress.env()
方法来读取环境变量。例如:
describe('My Test', () => { const apiKey = Cypress.env('API_KEY'); const password = Cypress.env('PASSWORD'); it('should log in with API key and password', () => { // Log in with API key and password }); });
方法二:使用命令行选项
可以在命令行选项中设置环境变量。例如:
$ CYPRESS_API_KEY=abc123 CYPRESS_PASSWORD=mypassword cypress run
可以在测试代码中通过 Cypress.env()
方法来读取环境变量。例如:
describe('My Test', () => { const apiKey = Cypress.env('API_KEY'); const password = Cypress.env('PASSWORD'); it('should log in with API key and password', () => { // Log in with API key and password }); });
示例代码
以下是一个示例代码,它使用环境变量来存储 API 密钥和密码,然后在登录时使用它们。请注意,这个示例仅供参考,需要根据你的实际情况进行修改。
-- -------------------- ---- ------- --------------- ------ -- -- - ----- ------ - ----------------------- ----- -------- - ------------------------ ---------- ------- ----- ------ -- -- - ------------------- ----------------- -- -- ---- ---------- --- ---------- --- -- ---- --- --- --- ---------- -- -- - -------------------------------- ----------------------------------- -------------------------------- ------------------------ --- ---
总结
在 Cypress 中使用系统变量和环境变量可以控制测试的行为和结果。系统变量可以用于控制 Cypress 的一些全局设置,而环境变量则可以在测试代码中存储敏感信息。在设置这些变量时需要小心,确保敏感信息不会被公开。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64d1ea4db5eee0b52594233b