cypress-template-fixtures
v1.0.3
Published
Allow using {{ENVIRONMENT_VARIABLE}} in Cypress fixture files.
Downloads
4,883
Maintainers
Readme
Cypress Template Fixtures
Allow using {{ENVIRONMENT_VARIABLE}}
in Cypress fixture files.
Setup
Install this package by run npm i -D cypress-template-fixtures
or yarn add -D cypress-template-fixtures
.
Add require('cypress-template-fixtures')(on, config);
in the cypress/plugins/index.js
.
module.exports = (on, config) => {
require('cypress-template-fixtures')(on, config); // Add this line
return config;
};
Also add cypress/fixtures.out/
into ignore list of you VCS. E.g. the .gitignore
for Git.
Write Fixtures with variables
When writing a fixture data in cypress/fixtures
, you can use environment variables.
Put the environment variable name in between {{
and }}
. Eg. {{NODE_ENV}}
{{MY_VARIABLE}}
.
Provide Environment Variables
Please refer to the doc here.
- From
env
field incypress.json
, don't have to useCYPRESS_
orcypress_
prefixes. - From
cypress.env.json
, don't have to useCYPRESS_
orcypress_
prefixes. - From command line or system environment variables, have to use
CYPRESS_
orcypress_
prefixes. - Using cypress-dotenv, have to use
CYPRESS_
orcypress_
prefixes unless set theall
parameter to true.
Note, if you use cypress-dotenv make sure enable it before cypress-template-fixtures.
module.exports = (on, config) => {
config = require('cypress-dotenv')(config); // load .env before cypress-template-fixtures
require('cypress-template-fixtures')(on, config);
return config
};
How it works
- When running
cypress run
orcypress open
this plugin will copy all fixtures incypress/fixtures
intocypress/fixtures.out
with sub-folders structure preserved. - When copying text fixtures (
.json
,.js
,.coffee
,.html
,.txt
,.csv
) the variables like{{MY_VARIABLE}}
will be replaced with the related environment variable value likeMY_VARIABLE
. - This plugin will also change the
fixturesFolder
config tocypress/fixtures.out
so that cypress will use the fixtures there.
Limitations
For simplicity, change the fixtures after cypress open
may not regenerated automatically, you should rerun cypress open
.