58 lines
1.8 KiB
JavaScript
58 lines
1.8 KiB
JavaScript
/// <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 wp = require("@cypress/webpack-preprocessor");
|
|
const { rmdir } = require('fs')
|
|
|
|
/**
|
|
* @type {Cypress.PluginConfig}
|
|
*/
|
|
module.exports = (on, config) => {
|
|
// `on` is used to hook into various events Cypress emits
|
|
// `config` is the resolved Cypress config
|
|
|
|
const options = {
|
|
webpackOptions: require("../webpack.config.js")
|
|
};
|
|
on("file:preprocessor", wp(options));
|
|
|
|
on("before:browser:launch", (browser = {}, launchOptions) => {
|
|
if (browser.name === "chrome") {
|
|
launchOptions.args.push("--disable-site-isolation-trials");
|
|
launchOptions.args.push("--auto-open-devtools-for-tabs");
|
|
launchOptions.args.push("--aggressive-cache-discard")
|
|
launchOptions.args.push("--disable-cache")
|
|
launchOptions.args.push("--disable-application-cache")
|
|
launchOptions.args.push("--disable-offline-load-stale-cache")
|
|
launchOptions.args.push("--disk-cache-size=0")
|
|
launchOptions.args.push("--no-sandbox")
|
|
|
|
return launchOptions;
|
|
}
|
|
});
|
|
|
|
on('task', {
|
|
deleteFolder(folderName) {
|
|
return new Promise((resolve, reject) => {
|
|
rmdir(folderName, { maxRetries: 10, recursive: true }, (err) => {
|
|
if (err) {
|
|
console.error(err)
|
|
return reject(err)
|
|
}
|
|
resolve(null)
|
|
})
|
|
})
|
|
}
|
|
})
|
|
} |