既然我使用的是wdio.conf.js,为什么会提示以下错误?
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
文件结构:
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"
}
当我运行 npx wdio 时,将显示:
错误@wdio/runner:错误:找不到模块“path/webdriverio-appium/index.js”。请验证 package.json 是否具有有效的“main”条目
当我将“main”更改为“./features/steps.js”时,将显示:
错误@wdio/runner:错误:ERR_UNSUPPORTED_DIR_IMPORT /path/webdriverio-appium/node_modules/@wdio/cucumber-framework/build/index.js
我尝试删除 package-lock.json 和 node_modules 并使用
$ npm i
,但重新运行我的测试仍然显示相同的错误
我尝试重新安装一个新项目,但仍然显示相同的错误
在vscode能够成功运行测试之前...
之前:
cucumberOpts: {
require: [''],
}
之后:
cucumberOpts: {
require: ['./features/steps.js'],
}