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...