Skip to content
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

Fix failing E2E tests #4329

Closed
NoopDog opened this issue Jan 6, 2025 · 1 comment · Fixed by #4330
Closed

Fix failing E2E tests #4329

NoopDog opened this issue Jan 6, 2025 · 1 comment · Fixed by #4330
Assignees
Labels
canary Done by the Clever Canary team

Comments

@NoopDog
Copy link
Collaborator

NoopDog commented Jan 6, 2025

See

https://github.com/DataBiosphere/data-browser/actions/runs/12638157147 and
https://github.com/DataBiosphere/data-browser/actions/runs/12638157145

@github-actions github-actions bot added the canary Done by the Clever Canary team label Jan 6, 2025
@jpaten
Copy link
Contributor

jpaten commented Jan 7, 2025

  • Chromium Rendering Issue
    • Sometimes some components will not load on Chromium. This causes the tests to fail, since components they are expecting are not present
    • May be resolved by switching to branded Chrome, but uncertain
    • Example
  • Hover issue
    • When tooltips are read, sometimes the cursor hovers on a different element that is still covered by the tooltip. This causes the tooltip not to disappear
    • Fix this by choosing a different element to hover that should not intersect with the tooltip
    • Example
  • Timeout issue
    • Some tests are timing out right when finishing.
    • Increase global test timeout by 30 seconds
    • Example
  • Indexing after test starts
    • it appears to be possible for site indexing to start after a test begins. This leads to the test failing for unclear reasons, when it should just report that it is indexing and should be rerun later
    • Example
  • Click error on sort and pagination tests
    • A subtree intercepts pointer events is occuring on all tests after the Findable 20.0.0 error
    • Based on the error message it seems to be because a mui element is causing Playwright to think the element is obscured. This can be fixed by using locator.dispatchEvent("click") instead of locator.click, but given that this error has only occured since the Findable update I'm not sure if there's another way to address this
    • Example
    • Update:
      • The issue only occurs when run through Github Actions, it doesn't happen when the test runs locally (this means testing fixes has been really slow, since the actions tests take 10 mins to run). It also occurs much more often on Webkit than on any other browser
      • Any click event to an element that is part of the main table can fail. Elements outside of the table do not seem to be affected.
      • The css handle associated with the mui component that interrupts the click seems to be associated with the table loading screen, since it disappears once the table is loaded.
      • So my guess is that there's some issue where the loading screen isn't properly being removed from the DOM that Playwright views for some reason. I'm not sure why it only occurs on the CLI, it could be that it's a slower system so the loading page lasts longer, or it could be that it's running Ubuntu (I'm on MacOS), or something completely different.
      • Since I can't figure out the exact code change that's associated with it and it doesn't affect the user, it doesn't seem worth trying to spend too much time trying to diagnose the precise cause of this, For now, I'm just switching the .click events to dispatchEvent. I prefer this method to changing the pointer-events value as chatgpt suggests, since that would require specifying the name of the css tag, which is unclear and could change arbitrarily when a package is updated. I can leave a TODO so we can look into it later when Fran returns

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
canary Done by the Clever Canary team
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants