|
|
|
/// <reference types="cypress" />
|
|
|
|
// ***********************************************************
|
|
|
|
// 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;
|
|
|
|
},
|
|
|
|
});
|
|
|
|
};
|