unexpected "Cannot find module" and "ERR_UNSUPPORTED_DIR_IMPORT" in cucumber-framework

71 Views Asked by At

Since I am using wdio.conf.js, why would it prompt below error?

ERROR @wdio/runner: Error: Cannot find module '/Users/kennykwan/Downloads/webdriverio-appium/index.js'. Please verify that the package.json has a valid "main" entry
[0-0]     at tryPackage (node:internal/modules/cjs/loader:450:19)
[0-0]     at Function.Module._findPath (node:internal/modules/cjs/loader:720:18)
[0-0]     at Function.Module._resolveFilename (node:internal/modules/cjs/loader:1135:27)
[0-0]     at Function.Module._resolveFilename.sharedData.moduleResolveFilenameHook.installedValue [as _resolveFilename] (/Users/kennykwan/Downloads/webdriverio-appium/node_modules/@cspotcode/source-map-support/source-map-support.js:811:30)
[0-0]     at Function.resolve (node:internal/modules/helpers:187:19)
[0-0]     at CucumberAdapter.loadAndRefreshModule (file:///Users/kennykwan/Downloads/webdriverio-appium/node_modules/@wdio/cucumber-framework/build/index.js:255:59)
[0-0]     at CucumberAdapter.loadFiles (file:///Users/kennykwan/Downloads/webdriverio-appium/node_modules/@wdio/cucumber-framework/build/index.js:267:18)
[0-0]     at processTicksAndRejections (node:internal/process/task_queues:95:5)
[0-0]     at async CucumberAdapter.run (file:///Users/kennykwan/Downloads/webdriverio-appium/node_modules/@wdio/cucumber-framework/build/index.js:169:13)
[0-0]     at async Runner.run (file:///Users/kennykwan/Downloads/webdriverio-appium/node_modules/@wdio/runner/build/index.js:157:24)
[0-0]  Error:  Cannot find module '/Users/kennykwan/Downloads/webdriverio-appium/index.js'. Please verify that the package.json has a valid "main" entry
[0-0] FAILED in Android - file:///features/loginFlow.feature

File structure:

webdriverio-appium
-app
--app.apk
-features
--steps.js
--test.features
-node_mobules
-babel.config.js
-package-lock.json
-package.json
-wdio.conf.js

package.json:

{
  "name": "webdriverio-appium",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "wdio": "wdio run ./wdio.conf.js"
  },
  "keywords": [],
  "license": "ISC",
  "dependencies": {
    "@wdio/cli": "^8.32.0",
    "@wdio/runner": "^8.31.0",
    "appium": "^2.0.1"
  },
  "devDependencies": {
    "@babel/cli": "^7.23.9",
    "@babel/core": "^7.23.9",
    "@babel/node": "^7.23.9",
    "@babel/preset-env": "^7.23.9",
    "@babel/register": "^7.23.7",
    "@wdio/allure-reporter": "^8.31.0",
    "@wdio/appium-service": "^8.31.0",
    "@wdio/cli": "^8.32.0",
    "@wdio/cucumber-framework": "^8.31.0",
    "@wdio/local-runner": "^8.31.0",
    "@wdio/spec-reporter": "^8.31.0",
    "allure-commandline": "^2.27.0",
    "appium": "^2.0.1",
    "appium-uiautomator2-driver": "^3.0.0",
    "ts-node": "^10.9.2",
    "typescript": "^5.3.3",
    "wdio-wait-for": "^3.0.11"
  },
  "type": "module"
}

when I run npx wdio, will show:

ERROR @wdio/runner: Error: Cannot find module 'path/webdriverio-appium/index.js'. Please verify that the package.json has a valid "main" entry

when I change "main" to "./features/steps.js", will show:

ERROR @wdio/runner: Error: ERR_UNSUPPORTED_DIR_IMPORT /path/webdriverio-appium/node_modules/@wdio/cucumber-framework/build/index.js

I try deleted package-lock.json and node_modules and use $ npm i , but re-run my test still show the same error

I try re-install a new project but still show the same error

before vscode can successfully run the test...

0

There are 0 best solutions below