-
Notifications
You must be signed in to change notification settings - Fork 675
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Using Firefox with screenshots and videos activated may hang TestCafe on a test failure #8374
Comments
@Bayheck Sorry, Mac treated it as a hidden file and have not included it into the original archive. |
P.S. we've also noticed TestCafe + Firefox sometimes hanging (probably on failure) even if we only have screenshots + retries activated (no video). Could not reproduce it locally, but this happens rarely on CI. Might also be related to these while loops in the |
We appreciate you taking the time to share information about this issue. We reproduced the bug and added this ticket to our internal task queue. We'll update this thread once we have news. |
What is your Scenario?
Run TestCafe tests on Firefox with screenshots, videos, retries (quarantineMode) activated.
What is the Current behavior?
Sometimes execution hangs on the test failure.
takeScreenshot
andgetVideoFrameData
functions called thegetScreenshotData
almost at the same time and then "intercepted" each other's responses, and execution hanged (probably in one of the while loops in the_getPacket
firefox/marionette-client
).Logs (
_logs_with_error.log
):What is the Expected behavior?
TestCafe execution does not hang, test fails, and has screenshots and videos in the required folder
What is the public URL of the test page? (attach your complete example)
N/A
What is your TestCafe test code?
test-cafe-bug.zip updated
Your complete configuration file
In the attached archive
Your complete test report
In the attached archive
Screenshots
No response
Steps to Reproduce
npm i
node_modules/testcafe/lib/browser/provider/built-in/dedicated/firefox/marionette-client/index.js
, go to the_getResponse
fn and replace the while loop with:node_modules/testcafe/lib/browser/provider/built-in/dedicated/base.js
file, go to thetakeScreenshot
fn and add a logconsole.log(`[TMP][${Date.now()}] takeScreenshot - before getScreenshotData`)
before theawait browserClient.getScreenshotData
node_modules/testcafe/lib/browser/provider/built-in/dedicated/firefox/index.js
file, go to thegetVideoFrameData
fn and add a logconsole.log(`[TMP][${Date.now()}] getVideoFrameData - before getScreenshotData`)
beforereturn marionetteClient.getScreenshotData()
rm -rf artifacts; DEBUG=testcafe:* npx testcafe firefox:headless Tests/. --page-load-timeout 15000 --skip-js-errors > _logs.log 2>&1
TestCafe version
3.7.0
Node.js version
v22.2.0
Command-line arguments
firefox:headless Tests/. --page-load-timeout 15000 --skip-js-errors
Browser name(s) and version(s)
Mozilla Firefox 119.0.1
Platform(s) and version(s)
MacOS 15.0.1 (Sequoia)
Other
No response
The text was updated successfully, but these errors were encountered: