Closed
Description
What are you trying to achieve?
I would like to run tests locally using @wdio/selenium-standalone-service
What do you get instead?
Could not load plugin wdio from module './plugin/wdio':
Provide console output if related. Use
--verbose
mode for more details.
Could not load plugin wdio from module './plugin/wdio':
Couldn't initialise "@wdio/selenium-standalone-service".
Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: /Users//Desktop/Repositories/PoCs/codecept_poc/node_modules/@wdio/selenium-standalone-service/build/index.js
require() of ES modules is not supported.
require() of /Users//Desktop/Repositories/PoCs/codecept_poc/node_modules/@wdio/selenium-standalone-service/build/index.js from /Users//Desktop/Repositories/PoCs/codecept_poc/node_modules/codeceptjs/lib/plugin/wdio.js is an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which defines all .js files in that package scope as ES modules.
Instead rename index.js to end in .cjs, change the requiring code to use import(), or remove "type": "module" from /Users//Desktop/Repositories/PoCs/codecept_poc/node_modules/@wdio/selenium-standalone-service/package.json.
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1015:13)
at Module.load (internal/modules/cjs/loader.js:863:32)
at Function.Module._load (internal/modules/cjs/loader.js:708:14)
at Module.require (internal/modules/cjs/loader.js:887:19)
at require (internal/modules/cjs/helpers.js:74:18)
at safeRequire (/Users//Desktop/Repositories/PoCs/codecept_poc/node_modules/codeceptjs/lib/plugin/wdio.js:246:12)
at module.exports (/Users//Desktop/Repositories/PoCs/codecept_poc/node_modules/codeceptjs/lib/plugin/wdio.js:104:21)
at createPlugins (/Users//Desktop/Repositories/PoCs/codecept_poc/node_modules/codeceptjs/lib/container.js:291:44)
at Function.create (/Users//Desktop/Repositories/PoCs/codecept_poc/node_modules/codeceptjs/lib/container.js:47:25)
at Codecept.init (/Users//Desktop/Repositories/PoCs/codecept_poc/node_modules/codeceptjs/lib/codecept.js:56:15)
Error: Couldn't initialise "@wdio/selenium-standalone-service".
Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: /Users//Desktop/Repositories/PoCs/codecept_poc/node_modules/@wdio/selenium-standalone-service/build/index.js
require() of ES modules is not supported.
require() of /Users//Desktop/Repositories/PoCs/codecept_poc/node_modules/@wdio/selenium-standalone-service/build/index.js from /Users//Desktop/Repositories/PoCs/codecept_poc/node_modules/codeceptjs/lib/plugin/wdio.js is an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which defines all .js files in that package scope as ES modules.
Instead rename index.js to end in .cjs, change the requiring code to use import(), or remove "type": "module" from /Users//Desktop/Repositories/PoCs/codecept_poc/node_modules/@wdio/selenium-standalone-service/package.json.
Provide test source code if related
Feature('login');
Scenario('test something', async ({ I }) => {
await I.amOnPage('/')
});
Details
- CodeceptJS version: 3.3.7
- NodeJS Version: Had 12.22.6, then installed and set it to use 18.13.0
- Operating System: macOS Monterey MacBook Pro (16-inch, 2019)
- puppeteer || webdriverio || testcafe version (if related): webdriverio
- Configuration file:
import { setHeadlessWhen, setCommonPlugins } from '@codeceptjs/configure';
// turn on headless mode when running with HEADLESS=true environment variable
// export HEADLESS=true && npx codeceptjs run
setHeadlessWhen(process.env.HEADLESS);
// enable all common plugins https://github.com/codeceptjs/configure#setcommonplugins
setCommonPlugins();
export const config: CodeceptJS.MainConfig = {
tests: './*_test.ts',
output: './output',
helpers: {
WebDriver: {
url: 'http://www.google.com',
browser: 'chrome'
}
},
include: {
I: './steps_file'
},
name: 'codecept-js-huong',
fullPromiseBased: true,
plugins: {
pauseOnFail: {},
retryFailedStep: {
enabled: true
},
tryTo: {
enabled: true
},
screenshotOnFail: {
enabled: true
},
wdio: {
enabled: true,
services: ['selenium-standalone']
}
}
}