npm install
npx playwright install --with-deps
npx codeceptjs init
- i enable typescript option
PS F:\bender\codecept4> cat .\tsconfig.json
{
"compilerOptions": {
"target": "ES2022",
"lib": ["ES2022", "DOM"],
"esModuleInterop": true,
"module": "ESNext",
"moduleResolution": "bundler",
"strictNullChecks": false,
"types": ["codeceptjs", "node"],
"declaration": true,
"skipLibCheck": true
},
"exclude": ["node_modules"]
}
PS F:\bender\codecept4> cat .\steps_file.ts
// in this file you can append custom step methods to 'I' object
import { actor } from 'codeceptjs';
export default function() {
return actor({
// Define custom steps here, use 'this' to access default methods of I.
// It is recommended to place a general 'login' function here.
});
}
PS F:\bender\codecept4> cat .\package.json
{
"devDependencies": {
"@types/node": "^25.9.2",
"codeceptjs": "^4.0.4",
"cross-env": "^10.1.0",
"npm-run-all2": "^9.0.1",
"playwright": "^1.60.0",
"tsx": "^4.22.4",
"typescript": "^6.0.3"
},
"dependencies": {
"knip": "^6.16.1",
"node-autoit-koffi": "^1.0.7",
"npm-check-updates": "^22.2.3"
}
}
PS F:\bender\codecept4> cat .\codecept.conf.ts
export const config: CodeceptJS.MainConfig = {
tests: './tests/*_test.ts',
output: './output',
helpers: {
Playwright: {
browser: 'chromium',
url: 'http://localhost',
show: true
}
},
include: {
I: './steps_file'
},
noGlobals: true,
plugins: {},
name: 'codecept4',
require: ['tsx/cjs']
}
PS F:\bender\codecept4> npx codeceptjs run
Could not include object I from module 'F:\bender\codecept4\steps_file': Cannot find module 'F:\bender\codecept4\steps_file.js' imported from F:\bender\codecept4\node_modules\codeceptjs\lib\container.js
Error [ERR_MODULE_NOT_FOUND]: Cannot find module 'F:\bender\codecept4\steps_file.js' imported from F:\bender\codecept4\node_modules\codeceptjs\lib\container.js
at finalizeResolution (node:internal/modules/esm/resolve:271:11)
at moduleResolve (node:internal/modules/esm/resolve:865:10)
at defaultResolve (node:internal/modules/esm/resolve:992:11)
at #cachedDefaultResolve (node:internal/modules/esm/loader:704:20)
at #resolveAndMaybeBlockOnLoaderThread (node:internal/modules/esm/loader:724:38)
at ModuleLoader.resolveSync (node:internal/modules/esm/loader:762:56)
at #resolve (node:internal/modules/esm/loader:686:17)
at ModuleLoader.getOrCreateModuleJob (node:internal/modules/esm/loader:606:35)
at node:internal/modules/esm/loader:635:32
at TracingChannel.tracePromise (node:diagnostics_channel:539:22)
PS F:\bender\codecept4>
Please repair, if user in init form select option for typescript, it is neccesary change this code in codecept.conf.ts:
include: {
I: './steps_file'
},
to (missing ".ts"):
include: {
I: './steps_file.ts'
},
npm install
npx playwright install --with-deps
npx codeceptjs init
PS F:\bender\codecept4> cat .\tsconfig.json
{
"compilerOptions": {
"target": "ES2022",
"lib": ["ES2022", "DOM"],
"esModuleInterop": true,
"module": "ESNext",
"moduleResolution": "bundler",
"strictNullChecks": false,
"types": ["codeceptjs", "node"],
"declaration": true,
"skipLibCheck": true
},
"exclude": ["node_modules"]
}
PS F:\bender\codecept4> cat .\steps_file.ts
// in this file you can append custom step methods to 'I' object
import { actor } from 'codeceptjs';
export default function() {
return actor({
});
}
PS F:\bender\codecept4> cat .\package.json
{
"devDependencies": {
"@types/node": "^25.9.2",
"codeceptjs": "^4.0.4",
"cross-env": "^10.1.0",
"npm-run-all2": "^9.0.1",
"playwright": "^1.60.0",
"tsx": "^4.22.4",
"typescript": "^6.0.3"
},
"dependencies": {
"knip": "^6.16.1",
"node-autoit-koffi": "^1.0.7",
"npm-check-updates": "^22.2.3"
}
}
PS F:\bender\codecept4> cat .\codecept.conf.ts
export const config: CodeceptJS.MainConfig = {
tests: './tests/*_test.ts',
output: './output',
helpers: {
Playwright: {
browser: 'chromium',
url: 'http://localhost',
show: true
}
},
include: {
I: './steps_file'
},
noGlobals: true,
plugins: {},
name: 'codecept4',
require: ['tsx/cjs']
}
PS F:\bender\codecept4> npx codeceptjs run
Could not include object I from module 'F:\bender\codecept4\steps_file': Cannot find module 'F:\bender\codecept4\steps_file.js' imported from F:\bender\codecept4\node_modules\codeceptjs\lib\container.js
Error [ERR_MODULE_NOT_FOUND]: Cannot find module 'F:\bender\codecept4\steps_file.js' imported from F:\bender\codecept4\node_modules\codeceptjs\lib\container.js
at finalizeResolution (node:internal/modules/esm/resolve:271:11)
at moduleResolve (node:internal/modules/esm/resolve:865:10)
at defaultResolve (node:internal/modules/esm/resolve:992:11)
at #cachedDefaultResolve (node:internal/modules/esm/loader:704:20)
at #resolveAndMaybeBlockOnLoaderThread (node:internal/modules/esm/loader:724:38)
at ModuleLoader.resolveSync (node:internal/modules/esm/loader:762:56)
at #resolve (node:internal/modules/esm/loader:686:17)
at ModuleLoader.getOrCreateModuleJob (node:internal/modules/esm/loader:606:35)
at node:internal/modules/esm/loader:635:32
at TracingChannel.tracePromise (node:diagnostics_channel:539:22)
PS F:\bender\codecept4>
Please repair, if user in init form select option for typescript, it is neccesary change this code in codecept.conf.ts:
include: {
I: './steps_file'
},
to (missing ".ts"):
include: {
I: './steps_file.ts'
},