|
|
|
/// <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(message)
|
|
|
|
return null
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|