I’m using Cypress’ nextjs plugin, and when I try to run any test via Browserstack, I get the following error when trying to import modules via relative paths.
Oops...we found an error preparing this test file:
> cypress/integration/happy-paths/modules/promo-card-page-automation-checks.spec.js
The error was:
Error: Webpack Compilation Error
./cypress/integration/happy-paths/modules/promo-card-page-automation-checks.spec.js
Module not found: Error: Can't resolve '../../../../services/i18n' in '/e2e/cypress/integration/happy-paths/modules'
Looked for and couldn't find the file at the following paths:
[/e2e/services/i18n]
[/e2e/services/i18n.js]
[/e2e/services/i18n.json]
[/e2e/services/i18n.jsx]
[/e2e/services/i18n.mjs]
[/e2e/services/i18n.coffee]
[/e2e/services/i18n/index]
[/e2e/services/i18n/index.js]
[/e2e/services/i18n/index.json]
[/e2e/services/i18n/index.jsx]
[/e2e/services/i18n/index.mjs]
[/e2e/services/i18n/index.coffee]
@ ./cypress/integration/happy-paths/modules/promo-card-page-automation-checks.spec.js 5:35-71
I’ve tried to modify my plugins/index.js file in order to import i18n globally, with no success. The specified relative path of the imported module is correct, because when I ran tests on local they work, but when I try to run them in Browserstack, they fail with the error from above.
Coming back with a response from Browserstack support team that solved the above issue. The browserstack.json config file should include all the npm_dependecies that the project itself needs to build and run, therefore, I added all the packages from devDependencies and a few from the dependencies to the npm_dependencies in browserstack.json config file and I was able to get rid of the error.
Note: Please note that whatever package is required by your project has to be included in the npm_dependencies in your browserstack.json config file so that all of them are installed in our terminal machine before the test is initiated.