Repository navigation
4.x: within() and tryTo() don't execute #5632
Copy link
Copy link
Closed
Description
Create a simple project using https://codecept.io/quickstart
My_test.ts
import { within } from "codeceptjs";
import { tryTo } from "codeceptjs/effects";
Feature("My");
Scenario("test something", ({ I }) => {
I.amOnPage("https://example.com");
tryTo(() => {
I.see("Example DomainX");
});
within("body", () => {
I.click("a");
});
});codecept.conf.ts:
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: './tests/*_test.ts',
output: './output',
helpers: {
Playwright: {
browser: 'chromium',
url: 'http://localhost',
show: true
}
},
include: {
I: './steps_file.ts'
},
noGlobals: true,
plugins: {},
name: 'my',
require: ['tsx/cjs']
}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"]
}Expected result:
- both
within()andtryTo()work
In 3.7.9, it works well ✔️ :
mirao@rog:~/workspace/my_379$ codeceptjs run --verbose
***************************************
nodeInfo: 24.15.0
osInfo: Linux 6.17 Ubuntu 24.04.4 LTS 24.04.4 LTS (Noble Numbat)
cpuInfo: (16) x64 AMD Ryzen 7 9700X 8-Core Processor
chromeInfo: 149.0.7827.114
edgeInfo: "N/A"
firefoxInfo: 151.0.3
safariInfo: N/A
playwrightBrowsers: "chromium: 148.0.7778.96, firefox: 150.0.2, webkit: 26.4"
If you need more detailed info, just run this: npx codeceptjs info
***************************************
CodeceptJS v3.7.9 #StandWithUkraine
Using test root "/home/mirao/workspace/my_379"
Helpers: Playwright
Plugins: screenshotOnFail, retryFailedStep, eachElement
My --
/home/mirao/workspace/my_379/My_test.ts
[1] Starting recording promises
Timeouts:
› [Session] Starting singleton browser session
test something
› [New Session] {"ignoreHTTPSErrors":false,"acceptDownloads":true}
Scenario()
I am on page "https://example.com"
› Auto retries disabled inside tryTo effect
I see "Example DomainX"
[1] <tryTo> Error (Non-Terminated) | Error | err => { step.status = 'failed' step.endTime= +Da...
› Unsuccessful try > expected web application to include "Example DomainX"
Within "body"
I click "a"
› [Clicked] <a href="https://iana.org/domains/example">Learn more</a>...
✔ OK in 1187ms
OK | 1 passed // 1s
Actual result:
within()andtryTo()are not executed at all in 4.x. They are missing in the test output and e.g. if you even usedI.click("ax")instead ofI.click("a")no error would be reported 🐛
4.0.7:
mirao@rog:~/workspace/my$ codeceptjs run tests/My_test.ts --verbose
***************************************
nodeInfo: 24.15.0
osInfo: Linux 6.17 Ubuntu 24.04.4 LTS 24.04.4 LTS (Noble Numbat)
cpuInfo: (16) x64 AMD Ryzen 7 9700X 8-Core Processor
chromeInfo: 149.0.7827.114
edgeInfo: "N/A"
firefoxInfo: 151.0.3
safariInfo: N/A
playwrightBrowsers: "chromium: 148.0.7778.96, firefox: 150.0.2, webkit: 26.4"
If you need more detailed info, just run this: npx codeceptjs info
***************************************
CodeceptJS v4.0.7 #StandWithUkraine
Using test root "/home/mirao/workspace/my"
Helpers: Playwright
Plugins: screenshot, retryFailedStep
My --
/home/mirao/workspace/my/tests/My_test.ts
[1] Starting recording promises
Timeouts:
› [Session] Starting singleton browser session
test something
› [New Session] {"ignoreHTTPSErrors":false,"acceptDownloads":true}
Scenario()
I am on page "https://example.com"
✔ OK in 146ms
Used SW:
- NodeJS v24.15.0, Ubuntu 24.04
package.json
{
"devDependencies": {
"@types/node": "^25.9.3",
"codeceptjs": "^4.0.7",
"playwright": "^1.60.0",
"tsx": "^4.22.4",
"typescript": "^6.0.3"
}
}Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity
mirao commentedon Aug 5, 2026
Fixed by #5640 in 4.1.0