Fix nightly Java Grid downloads and Edge session startup#140
Merged
Conversation
77d7641 to
9ecda32
Compare
DownloadTest.fileDownload threw NullPointerException inside RemoteWebDriver.getDownloadedFiles because the Grid ran 4.37.0 while the Java client is 4.45.0. The 4.45 client reads the "files" key from GET_DOWNLOADABLE_FILES, but the 4.37 node still emits the legacy "names" key, so the parsed list was null. Bump hub and node images to 4.45.0-20260606 to match the client contract.
Two nightly regressions on ubuntu-24.04: - Edge sessions failed with SessionNotCreated "Chrome instance exited". The runner restricts unprivileged user namespaces (AppArmor), which crashes the Chromium sandbox at launch. Pass --no-sandbox and --disable-dev-shm-usage for local chrome and edge runs. - IFrameTest.testContextSwitching raced the TinyMCE boot: the test reads the editor text and writeIFrameTextAreaText re-reads it, and the default content was injected between the two reads. Wait for the rendered body content in the frame before reading (the tinymce global lives in the parent document, not the content frame).
b1db785 to
6b17a18
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Root cause analysis
Two independent regressions surfaced in the Nightly workflow (e.g. run 29229099468). Both are Java-only; TypeScript and Python nightlies are green.
1. Java Grid (chrome + edge + firefox) —
DownloadTest.fileDownloadNPECause: client/Grid version mismatch. The Java client is Selenium 4.45.0, but the Grid hub/nodes were pinned to 4.37.0. Selenium 4.45's
getDownloadedFiles()reads thefileskey from theGET_DOWNLOADABLE_FILESresponse, whereas the 4.37 node still emits the legacynameskey.value.get("files")therefore returnsnulland.stream()throws. This is Grid-only because local runs reportisDownloadsEnabled() == falseand take the filesystem path instead — which is why non-Grid chrome/firefox stayed green.The Grid track began failing at the exact commit that revived it (
63ffe7a).Fix: align the Grid hub and node images to
4.45.0-20260606so the download contract matches the client.2. Java Edge (local) — every session fails to start
Edge is installed on
ubuntu-24.04(v150), so this is a launch crash, not a missing binary. Ubuntu 24.04 restricts unprivileged user namespaces via AppArmor, which crashes the Chromium sandbox on launch; Edge 150 does not survive it while Chrome happens to. This job has failed every night since at least Jul 11.Fix: pass
--no-sandboxand--disable-dev-shm-usagefor local (non-Grid) Chromium browsers (chrome + edge).Verification
No local JDK available, so validation is via CI — the Nightly workflow is dispatched against this branch and babysat to green.