/// // *********************************************************** // This example plugins/index.js can be used to load plugins // // You can change the location of this file or turn off loading // the plugins file with the 'pluginsFile' configuration option. // // You can read more here: // https://on.cypress.io/plugins-guide // *********************************************************** // This function is called when a project is opened or re-opened (e.g. due to // the project's config changing) const { rmdir } = require("fs"); // https://stackoverflow.com/questions/61934443/read-excel-files-in-cypress const readXlsx = require("./read-xlsx"); /** * @type {Cypress.PluginConfig} */ // eslint-disable-next-line no-unused-vars module.exports = (on, config) => { // `on` is used to hook into various events Cypress emits // `config` is the resolved Cypress config // register utility tasks to read and parse Excel files on("task", { deleteFolder(folderName) { console.log("deleting folder %s", folderName); return new Promise((resolve, reject) => { rmdir(folderName, { maxRetries: 10, recursive: true }, (err) => { if (err) { console.error(err); return reject(err); } resolve(null); }); }); }, readXlsx: readXlsx.read, readSheetList: readXlsx.sheetList, log(message) { console.log(`##Cypress>> ${message}`); return null; }, }); };