I have set my environment variables in 'Cypress.env.json' file, while running the cypress test, it read the Cypress.env variables successfully. But to be more on the security aspect, rather than 'hard-cording' the values, my team asked me to keep this variable as separate 'parameters' which read from Windows 10 Environment variables. How do I achieve this ? It would be really helpful if someone could advise on this.
{
"QA_Server": "https://sometestingsite.com",
"username": "testQA",
"password": "Password1234!"
}
Using your Cypress config fileAny key/value you set in your Cypress configuration file ( cypress. json by default) under the env key will become an environment variable that you can access using Cypress. env in your tests.
We can set environment by passing these arguments in the cypress run or cypress open command e.g. cypress open --env configFile=test. This command looks lengthy. Also, sometimes we need to pass more command line arguments along with configFile. We can create short and handy commands by configuring the package.
To get baseUrl value use Cypress. config(). baseUrl or Cypress. config('baseUrl') .
From cypress documentation here:
Any environment variable on your machine that starts with either CYPRESS_
or cypress_
will automatically be added and made available to you.
Conflicting values will override values from cypress.json
and cypress.env.json
files.
Cypress will strip off the CYPRESS_
when adding your environment variables.
Exporting cypress env variables from the command line:
export CYPRESS_HOST=laura.dev.local
export cypress_api_server=http://localhost:8888/api/v1/
If you're using Windows you can set env variables using set
or setx
commands.
And in your test files you can call this:
Cypress.env() // {HOST: "laura.dev.local", api_server: "http://localhost:8888/api/v1"}
Cypress.env("HOST") // "laura.dev.local"
Cypress.env("api_server") // "http://localhost:8888/api/v1/"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With