Cypress-fs is a utility package that extends the capabilities of Cypress for working with the file system. It provides a set of custom Cypress commands for performing file and directory operations, making it easier to interact with files in your end-to-end tests.
You can install Cypress-fs using npm or yarn. Here's how to do it:
npm install cypress-fs --save-dev
yarn add --dev cypress-fs
To use Cypress-fs, you need to import the commands into your Cypress project. To do this, add the following line to your project's cypress/support/e2e.ts
file:
import "cypress-fs";
Cypress-fs requires some cypress tasks to be registered in order to work. To do this, update your cypress.config.ts to look like the following:
export default defineConfig({
e2e: {
setupNodeEvents(on, config) {
return require("cypress-fs/plugins")(on, config);
},
},
});
Cypress-fs provides the following custom Cypress commands:
Copies a file from one location to another.
path
- The path to the file to copy.newPath
- The path to the new file.mode
- The mode to apply to the new file,refer to fs for more details.
Checks if a file exists.
path
- The path to the file to check.
Reads the contents of a file.
path
- The path to the file to read.options
- The options to use when reading the file.
Writes content to a file.
path
- The path to the file to write to.content
- The content to write to the file.options
- The options to use when writing the file.
Deletes a file.
path
- The path to the file to delete.
Creates a directory.
path
- The path to the directory to create.options
- The options to use when creating the directory.
Deletes a directory.
path
- The path to the directory to delete.options
- The options to use when deleting the directory.
Changes the permissions of a file.
path
- The path to the file to change the permissions of.mode
- The mode to apply to the file, refer to fs for more details.
Appends content to a file.
path
- The path to the file to append to.content
- The content to append to the file.
Renames a file.
path
- The path to the file to rename.newPath
- The new path for the file.
Checks if a directory exists.
path
The path to the directory to check.
Reads the contents of a directory.
path
- The path to the directory to read.
Checks if a path is a directory.
path
- The path to check.
Checks if a path is a file.
path
- The path to check.
The types used are the same as the ones used by each corresponding method from the fs module.