SeleniumHQ / selenium

A browser automation framework and ecosystem.
https://selenium.dev
Apache License 2.0
30.42k stars 8.15k forks source link

[dotnet][rb][java][js][py] Automated Browser Version Update #14344

Closed selenium-ci closed 1 month ago

selenium-ci commented 1 month ago

This is an automated pull request to update pinned browsers and drivers

Merge after verify the new browser versions properly passing the tests and no bugs need to be filed

codiumai-pr-agent-pro[bot] commented 1 month ago

PR Reviewer Guide 🔍

⏱️ Estimated effort to review: 2 🔵🔵⚪⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ Key issues to review

URL Verification
Ensure that the new URLs provided for packages are valid and accessible. SHA256 Verification
Verify that the new SHA256 checksums match the files downloaded from the provided URLs to ensure file integrity.
codiumai-pr-agent-pro[bot] commented 1 month ago

PR Code Suggestions ✨

CategorySuggestion                                                                                                                                    Score
Maintainability
Use a variable for the version number to simplify future updates ___ **Consider using a variable for the version number of Microsoft Edge to ensure
consistency and ease of updates across different package URLs and paths.** [common/repositories.bzl [126-129]](https://github.com/SeleniumHQ/selenium/pull/14344/files#diff-25d82cd18102fed27d3202000e1f1b3a56a85ad2848236d91989cd30a3952401R126-R129) ```diff -url = "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/dd910ebc-f59d-4ea2-b18b-81a8a163e54f/MicrosoftEdge-127.0.2651.86.pkg" -"MicrosoftEdge-127.0.2651.86.pkg/Payload/Microsoft Edge.app": "Edge.app" +edge_version = "127.0.2651.86" +url = "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/dd910ebc-f59d-4ea2-b18b-81a8a163e54f/MicrosoftEdge-" + edge_version + ".pkg" +edge_version + ".pkg/Payload/Microsoft Edge.app": "Edge.app" ``` - [ ] **Apply this suggestion**
Suggestion importance[1-10]: 8 Why: Using a variable for the version number improves maintainability by making future updates easier and reducing the risk of inconsistencies.
8
Possible issue
Verify and update dictionary keys to match the new version number ___ **Ensure that the move dictionary key paths are updated to reflect the new version
number in the package URL to prevent potential mismatches and errors.** [common/repositories.bzl [129]](https://github.com/SeleniumHQ/selenium/pull/14344/files#diff-25d82cd18102fed27d3202000e1f1b3a56a85ad2848236d91989cd30a3952401R129-R129) ```diff -"MicrosoftEdge-127.0.2651.86.pkg/Payload/Microsoft Edge.app": "Edge.app" +"MicrosoftEdge-127.0.2651.86.pkg/Payload/Microsoft Edge.app": "Edge.app" # Ensure this matches the version in the URL ``` - [ ] **Apply this suggestion**
Suggestion importance[1-10]: 7 Why: Ensuring that the dictionary keys match the version number in the URL helps prevent potential mismatches and errors, which is important for correctness.
7
Best practice
Add a comment for clarity on version selection for the Edge driver ___ **Consider adding a comment explaining the source and reason for the specific version
number of the Edge driver to maintain clarity for future updates or audits.** [common/repositories.bzl [146]](https://github.com/SeleniumHQ/selenium/pull/14344/files#diff-25d82cd18102fed27d3202000e1f1b3a56a85ad2848236d91989cd30a3952401R146-R146) ```diff -url = "https://msedgedriver.azureedge.net/129.0.2751.0/edgedriver_linux64.zip" +url = "https://msedgedriver.azureedge.net/129.0.2751.0/edgedriver_linux64.zip" # Version 129.0.2751.0 selected for compatibility with latest stable release ``` - [ ] **Apply this suggestion**
Suggestion importance[1-10]: 6 Why: Adding a comment explaining the version selection improves code clarity and helps future maintainers understand the reasoning behind the chosen version.
6
codiumai-pr-agent-pro[bot] commented 1 month ago

CI Failure Feedback 🧐

(Checks updated until commit https://github.com/SeleniumHQ/selenium/commit/e5d9550e3568f0264d4f67aaef33e912ac2564d5)

**Action:** .NET / Browser Tests / Browser Tests
**Failed stage:** [Run Bazel](https://github.com/SeleniumHQ/selenium/actions/runs/10293841572/job/28490973577) [❌]
**Failed test name:** ElementFindingTest-chrome, ElementFindingTest-firefox
**Failure summary:** The action failed because two tests, ElementFindingTest-chrome and ElementFindingTest-firefox,
failed to execute. The failure was due to the following reasons:
  • Both tests encountered an error related to the Windows process creation.
  • Specifically, the error cannot shorten the path enough occurred when attempting to create a process
    with a long path.
  • This issue was reported in the file src/main/native/windows/util.cc at line 262.
  • Relevant error logs: ```yaml 1: ##[group]Operating System 2: Microsoft Windows Server 2022 ... 763: [1,275 / 2,105] Compiling src/google/protobuf/compiler/java/message.cc [for tool]; 2s local ... (4 actions running) 764: [1,276 / 2,105] Compiling src/google/protobuf/compiler/java/message.cc [for tool]; 4s local ... (4 actions, 3 running) 765: [1,277 / 2,105] Executing genrule //common/devtools/chromium/v126:js_protocol; 5s local ... (4 actions running) 766: [1,279 / 2,105] Action java/src/org/openqa/selenium/manager/libmanager-module.jar; 2s local ... (4 actions running) 767: [1,280 / 2,105] Action java/src/org/openqa/selenium/manager/libmanager-module.jar; 3s local ... (4 actions running) 768: [1,283 / 2,105] Executing genrule //common/devtools/chromium/v85:js_protocol; 3s local ... (4 actions, 3 running) 769: [1,287 / 2,105] Executing genrule //common/devtools/chromium/v85:js_protocol; 4s local ... (4 actions running) 770: INFO: From Building java/src/org/openqa/selenium/remote/libapi-class.jar (71 source files): 771: java\src\org\openqa\selenium\remote\ErrorHandler.java:46: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal 772: private final ErrorCodes errorCodes; 773: ^ 774: java\src\org\openqa\selenium\remote\ErrorHandler.java:60: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal 775: this.errorCodes = new ErrorCodes(); 776: ^ 777: java\src\org\openqa\selenium\remote\ErrorHandler.java:68: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal 778: public ErrorHandler(ErrorCodes codes, boolean includeServerErrors) { 779: ^ 780: java\src\org\openqa\selenium\remote\Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal 781: ErrorCodes errorCodes = new ErrorCodes(); 782: ^ 783: java\src\org\openqa\selenium\remote\Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal 784: ErrorCodes errorCodes = new ErrorCodes(); 785: ^ 786: java\src\org\openqa\selenium\remote\ProtocolHandshake.java:181: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal 787: response.setStatus(ErrorCodes.SUCCESS); 788: ^ 789: java\src\org\openqa\selenium\remote\ProtocolHandshake.java:182: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal 790: response.setState(ErrorCodes.SUCCESS_STRING); 791: ^ 792: java\src\org\openqa\selenium\remote\W3CHandshakeResponse.java:53: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal 793: new ErrorCodes().toStatus((String) rawError, Optional.of(tuple.getStatusCode()))); 794: ^ 795: java\src\org\openqa\selenium\remote\W3CHandshakeResponse.java:56: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal 796: new ErrorCodes().getExceptionType((String) rawError); 797: ^ 798: java\src\org\openqa\selenium\remote\codec\AbstractHttpResponseCodec.java:44: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal 799: private final ErrorCodes errorCodes = new ErrorCodes(); 800: ^ 801: java\src\org\openqa\selenium\remote\codec\AbstractHttpResponseCodec.java:44: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal 802: private final ErrorCodes errorCodes = new ErrorCodes(); 803: ^ 804: java\src\org\openqa\selenium\remote\codec\AbstractHttpResponseCodec.java:55: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal 805: int status = response.getStatus() == ErrorCodes.SUCCESS ? HTTP_OK : HTTP_INTERNAL_ERROR; 806: ^ 807: java\src\org\openqa\selenium\remote\codec\AbstractHttpResponseCodec.java:101: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal 808: response.setStatus(ErrorCodes.UNKNOWN_COMMAND); 809: ^ 810: java\src\org\openqa\selenium\remote\codec\AbstractHttpResponseCodec.java:103: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal 811: response.setStatus(ErrorCodes.UNHANDLED_ERROR); 812: ^ 813: java\src\org\openqa\selenium\remote\codec\AbstractHttpResponseCodec.java:124: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal 814: response.setStatus(ErrorCodes.SUCCESS); 815: ^ 816: java\src\org\openqa\selenium\remote\codec\AbstractHttpResponseCodec.java:125: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal 817: response.setState(errorCodes.toState(ErrorCodes.SUCCESS)); 818: ^ 819: java\src\org\openqa\selenium\remote\codec\AbstractHttpResponseCodec.java:131: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal 820: response.setState(errorCodes.toState(ErrorCodes.SUCCESS)); 821: ^ 822: java\src\org\openqa\selenium\remote\codec\w3c\W3CHttpResponseCodec.java:70: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal 823: private final ErrorCodes errorCodes = new ErrorCodes(); 824: ^ 825: java\src\org\openqa\selenium\remote\codec\w3c\W3CHttpResponseCodec.java:70: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal 826: private final ErrorCodes errorCodes = new ErrorCodes(); 827: ^ 828: java\src\org\openqa\selenium\remote\codec\w3c\W3CHttpResponseCodec.java:93: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal 829: response.setStatus(ErrorCodes.UNKNOWN_COMMAND); 830: ^ 831: java\src\org\openqa\selenium\remote\codec\w3c\W3CHttpResponseCodec.java:98: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal 832: response.setStatus(ErrorCodes.UNHANDLED_ERROR); 833: ^ 834: java\src\org\openqa\selenium\remote\codec\w3c\W3CHttpResponseCodec.java:145: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal 835: response.setStatus(ErrorCodes.SUCCESS); ... 911: [2,103 / 2,105] [Prepa] Compiling ElementFindingTest-firefox ... (2 actions, 0 running) 912: [2,103 / 2,105] Compiling ElementFindingTest-chrome; 1s local ... (2 actions running) 913: [2,105 / 2,107] [Prepa] Testing //dotnet/test/common:ElementFindingTest-chrome ... (2 actions, 0 running) 914: [2,105 / 2,107] [Prepa] Testing //dotnet/test/common:ElementFindingTest-chrome; 5s ... (2 actions, 0 running) 915: FAIL: //dotnet/test/common:ElementFindingTest-chrome (see D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild-ST-8fd7485a76d3/testlogs/dotnet/test/common/ElementFindingTest-chrome/test.log) 916: FAIL: //dotnet/test/common:ElementFindingTest-firefox (see D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild-ST-8fd7485a76d3/testlogs/dotnet/test/common/ElementFindingTest-firefox/test.log) 917: INFO: From Testing //dotnet/test/common:ElementFindingTest-chrome: 918: ==================== Test output for //dotnet/test/common:ElementFindingTest-chrome: 919: ERROR(tools/test/windows/tw.cc:1302) ERROR: src/main/native/windows/process.cc(95): WaitableProcess::Create(D:\_bazel\execroot\_main\bazel-out\x64_windows-fastbuild-ST-8fd7485a76d3\bin\dotnet\test\common\ElementFindingTest-chrome\net8.0\WebDriver.Common.Tests.dll.bat.runfiles\_main\dotnet\test\common\ElementFindingTest-chrome\net8.0\WebDriver.Common.Tests.dll.bat): ERROR: src/main/native/windows/util.cc(292): AsExecutablePathForCreateProcess(D:\_bazel\execroot\_main\bazel-out\x64_windows-fastbuild-ST-8fd7485a76d3\bin\dotnet\test\common\ElementFindingTest-chrome\net8.0\WebDriver.Common.Tests.dll.bat.runfiles\_main\dotnet\test\common\ElementFindingTest-chrome\net8.0\WebDriver.Common.Tests.dll.bat): ERROR: src/main/native/windows/util.cc(262): GetShortPathNameW(\\?\D:\_bazel\execroot\_main\bazel-out\x64_windows-fastbuild-ST-8fd7485a76d3\bin\dotnet\test\common\ElementFindingTest-chrome\net8.0\WebDriver.Common.Tests.dll.bat.runfiles\_main\dotnet\test\common\ElementFindingTest-chrome\net8.0\WebDriver.Common.Tests.dll.bat): cannot shorten the path enough 920: ERROR(tools/test/windows/tw.cc:1479) Failed to start test process (arg: D:\_bazel\execroot\_main\bazel-out\x64_windows-fastbuild-ST-8fd7485a76d3\bin\dotnet\test\common\ElementFindingTest-chrome\net8.0\WebDriver.Common.Tests.dll.bat.runfiles\_main\dotnet\test\common\ElementFindingTest-chrome\net8.0\WebDriver.Common.Tests.dll.bat) 921: ================================================================================ 922: INFO: From Testing //dotnet/test/common:ElementFindingTest-firefox: 923: ==================== Test output for //dotnet/test/common:ElementFindingTest-firefox: 924: ERROR(tools/test/windows/tw.cc:1302) ERROR: src/main/native/windows/process.cc(95): WaitableProcess::Create(D:\_bazel\execroot\_main\bazel-out\x64_windows-fastbuild-ST-8fd7485a76d3\bin\dotnet\test\common\ElementFindingTest-firefox\net8.0\WebDriver.Common.Tests.dll.bat.runfiles\_main\dotnet\test\common\ElementFindingTest-firefox\net8.0\WebDriver.Common.Tests.dll.bat): ERROR: src/main/native/windows/util.cc(292): AsExecutablePathForCreateProcess(D:\_bazel\execroot\_main\bazel-out\x64_windows-fastbuild-ST-8fd7485a76d3\bin\dotnet\test\common\ElementFindingTest-firefox\net8.0\WebDriver.Common.Tests.dll.bat.runfiles\_main\dotnet\test\common\ElementFindingTest-firefox\net8.0\WebDriver.Common.Tests.dll.bat): ERROR: src/main/native/windows/util.cc(262): GetShortPathNameW(\\?\D:\_bazel\execroot\_main\bazel-out\x64_windows-fastbuild-ST-8fd7485a76d3\bin\dotnet\test\common\ElementFindingTest-firefox\net8.0\WebDriver.Common.Tests.dll.bat.runfiles\_main\dotnet\test\common\ElementFindingTest-firefox\net8.0\WebDriver.Common.Tests.dll.bat): cannot shorten the path enough 925: ERROR(tools/test/windows/tw.cc:1479) Failed to start test process (arg: D:\_bazel\execroot\_main\bazel-out\x64_windows-fastbuild-ST-8fd7485a76d3\bin\dotnet\test\common\ElementFindingTest-firefox\net8.0\WebDriver.Common.Tests.dll.bat.runfiles\_main\dotnet\test\common\ElementFindingTest-firefox\net8.0\WebDriver.Common.Tests.dll.bat) 926: ================================================================================ 927: INFO: Found 2 test targets... 928: INFO: Elapsed time: 399.999s, Critical Path: 103.32s 929: INFO: 2107 processes: 816 internal, 489 local, 802 worker. 930: INFO: Build completed, 2 tests FAILED, 2107 total actions 931: //dotnet/test/common:ElementFindingTest-chrome FAILED in 0.1s 932: D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild-ST-8fd7485a76d3/testlogs/dotnet/test/common/ElementFindingTest-chrome/test.log 933: //dotnet/test/common:ElementFindingTest-firefox FAILED in 0.1s 934: D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild-ST-8fd7485a76d3/testlogs/dotnet/test/common/ElementFindingTest-firefox/test.log 935: Executed 2 out of 2 tests: 2 fail locally. 936:  937: ##[error]Process completed with exit code 1. ```

    ✨ CI feedback usage guide:
    The CI feedback tool (`/checks)` automatically triggers when a PR has a failed check. The tool analyzes the failed checks and provides several feedbacks: - Failed stage - Failed test name - Failure summary - Relevant error logs In addition to being automatically triggered, the tool can also be invoked manually by commenting on a PR: ``` /checks "https://github.com/{repo_name}/actions/runs/{run_number}/job/{job_number}" ``` where `{repo_name}` is the name of the repository, `{run_number}` is the run number of the failed check, and `{job_number}` is the job number of the failed check. #### Configuration options - `enable_auto_checks_feedback` - if set to true, the tool will automatically provide feedback when a check is failed. Default is true. - `excluded_checks_list` - a list of checks to exclude from the feedback, for example: ["check1", "check2"]. Default is an empty list. - `enable_help_text` - if set to true, the tool will provide a help message with the feedback. Default is true. - `persistent_comment` - if set to true, the tool will overwrite a previous checks comment with the new feedback. Default is true. - `final_update_message` - if `persistent_comment` is true and updating a previous checks message, the tool will also create a new message: "Persistent checks updated to latest commit". Default is true. See more information about the `checks` tool in the [docs](https://pr-agent-docs.codium.ai/tools/ci_feedback/).
    codecov[bot] commented 1 month ago

    Codecov Report

    All modified and coverable lines are covered by tests :white_check_mark:

    Project coverage is 57.46%. Comparing base (72e3a61) to head (e5d9550). Report is 42 commits behind head on trunk.

    Additional details and impacted files ```diff @@ Coverage Diff @@ ## trunk #14344 +/- ## ======================================= Coverage 57.46% 57.46% ======================================= Files 89 89 Lines 5549 5549 Branches 228 228 ======================================= Hits 3189 3189 Misses 2132 2132 Partials 228 228 ```

    :umbrella: View full report in Codecov by Sentry.
    :loudspeaker: Have feedback on the report? Share it here.