1.0.3 • Published 4 years ago
cypress-template-fixtures v1.0.3
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
envfield 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 theallparameter 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 runorcypress openthis plugin will copy all fixtures incypress/fixturesintocypress/fixtures.outwith 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
fixturesFolderconfig tocypress/fixtures.outso 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.