'How to fix "Error: ENOENT: no such file or directory - cypress plugins in jenkins"

Cypress Testing --> I added below code to plugins/index.js , locally the test runs fine but when run on jenkins I get an error

function getConfigurationByFile(file) {
  const pathToConfigFile = path.resolve(
    '..',
    'automation/cypress/configFiles',
    `${file}.json`
  );

  return fs.readJson(pathToConfigFile);
}

module.exports = (on, config) => {
  const file = config.env.fileConfig || 'qat';

  return getConfigurationByFile(file);
};

error in jenkins -->

The function exported by the plugins file threw an error. We invoked the function exported by /var/lib/jenkins/jenkins-agent/workspace/ui-automation/cypress/plugins/index.js, but it threw an error.

Error: ENOENT: no such file or directory, open '/var/lib/jenkins/jenkins-agent/workspace/automation/cypress/configFiles/qat.json'



Solution 1:[1]

I was able to fix this issue. The workspace path wasn't correct in my code.

jenkins workspace : workspace/ui-automation/cypress/

local workspace : workspace/automation/cypress

updated code :

  const pathToConfigFile = path.resolve(
    '..',
    'ui-automation/cypress/configFiles',
    `${file}.json`
  );

  return fs.readJson(pathToConfigFile);
}

module.exports = (on, config) => {
  const file = config.env.fileConfig || 'qat';

  return getConfigurationByFile(file);
};

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 DiV