You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hover over an onHover menu button to show the menu
UI shows menu
Click on a menu item
UI closes menu
UI opens dialog box
Enter data in default text box
Click on dropdown and enter data
Click on Cancel
The manual test in Chrome and Firefox does not show the menu twice.
It is not possible to hover over the menu as there is an overlay at a higher Z order, which prevents it from firing.
What is the Current behavior?
I have bolded the actions that should not be happening
testcafe moves the mouse cursor over the onHover menu button
UI shows menu
testcafe moves the mouse cursor to the menu item and clicks
UI closes menu
UI shows dialog box
testcafe starts to enter text into the dialog box
UI shows menu (which is not clickable by a user due to an overlay)
testcafe moves mouse to click on entry field
UI closes menu
testcafe test fails (sometimes, depending on timing of the menu closing)
What is the Expected behavior?
testcafe moves the mouse cursor over the onHover menu button
UI shows menu
testcafe moves the mouse cursor to the menu item and clicks
UI closes menu
UI shows dialog box
testcafe starts to enter text into the dialog box
testcafe moves mouse to click on entry field
testcafe completes rest of processing
What is the public URL of the test page? (attach your complete example)
The real test fails every time on unable to find .click(Selector(".input-description textarea", { timeout: 15000 })) because the previous pressKey happens against the Name field as the closing menu sets that as the default field, which then causes the dialog to close.
The minimal test code above shows the menu being shown twice, but may not fail due to timing constraints.
The underlying issue is that testcafe is causing an onHover to fire against a menu which is covered by an overlay skrim, without a corresponding request to testcafe to do so.
This can not be replicated in manual testing.
FYI: I rewrote the test in Puppeteer which does not show the onHover menu twice.
What is your Scenario?
To replicate a working manual test:
The manual test in Chrome and Firefox does not show the menu twice.
It is not possible to hover over the menu as there is an overlay at a higher Z order, which prevents it from firing.
What is the Current behavior?
I have bolded the actions that should not be happening
What is the Expected behavior?
What is the public URL of the test page? (attach your complete example)
https://demo.photoprism.app/library/folders/
What is your TestCafe test code?
Your complete configuration file
I have no configuration files
Your complete test report
The real test fails every time on unable to find .click(Selector(".input-description textarea", { timeout: 15000 })) because the previous pressKey happens against the Name field as the closing menu sets that as the default field, which then causes the dialog to close.
The minimal test code above shows the menu being shown twice, but may not fail due to timing constraints.
testcafe "chrome --disable-features=LocalNetworkAccessChecks",firefox testcafehover.js --skip-js-errors
Running tests in:
Test hover
✓ Hover Menu
1 passed (23s)
Screenshots
The attached video file shows the issue between the 2s and 3.5s mark.
Change the playback speed to 0.25 so you can see the menu opening again.
HoverTest.mp4
Steps to Reproduce
TestCafe version
3.7.2
Node.js version
v24.11.1
Command-line arguments
testcafe "chrome --disable-features=LocalNetworkAccessChecks" testcafehover.js --skip-js-errors
Browser name(s) and version(s)
Chrome 142, Firefox 140
Platform(s) and version(s)
Linux Debian 13
Other
The underlying issue is that testcafe is causing an onHover to fire against a menu which is covered by an overlay skrim, without a corresponding request to testcafe to do so.
This can not be replicated in manual testing.
FYI: I rewrote the test in Puppeteer which does not show the onHover menu twice.