SeleniumHQ / selenium

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

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

Closed selenium-ci closed 1 month ago

selenium-ci commented 1 month ago

User description

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


PR Type

Enhancement, Configuration changes


Description


Changes walkthrough ๐Ÿ“

Relevant files
Configuration changes
repositories.bzl
Update pinned Firefox browser versions for Linux and Mac 

common/repositories.bzl
  • Updated the URL and SHA256 checksum for the Linux Firefox archive to
    version 126.0.1.
  • Updated the URL and SHA256 checksum for the Mac Firefox archive to
    version 126.0.1.
  • +4/-4     

    ๐Ÿ’ก PR-Agent usage: Comment /help on the PR to get a list of all available PR-Agent tools and their descriptions

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

    PR Review ๐Ÿ”

    โฑ๏ธ Estimated effort to review [1-5] 2, because the changes are straightforward and limited to updating URLs and checksums for browser versions. The complexity is low and the changes are clearly defined.
    ๐Ÿงช Relevant tests No
    โšก Possible issues Possible Regression: Ensure that the new browser versions do not introduce regressions or compatibility issues with existing tests and functionalities.
    ๐Ÿ”’ Security concerns No
    codiumai-pr-agent-pro[bot] commented 1 month ago

    PR Code Suggestions โœจ

    CategorySuggestion                                                                                                                                    Score
    Security
    Ensure the sha256 hash values are correct to avoid build failures or security issues ___ **Verify that the sha256 hash values are correct and match the downloaded files. Incorrect
    hash values can cause build failures or security issues.** [common/repositories.bzl [15]](https://github.com/SeleniumHQ/selenium/pull/14046/files#diff-25d82cd18102fed27d3202000e1f1b3a56a85ad2848236d91989cd30a3952401R15-R15) ```diff -sha256 = "9c5fabd24f90f32c2526f62c41066c7a2ac80af382dccd141f5df728e9a68ec1", +sha256 = "9c5fabd24f90f32c2526f62c41066c7a2ac80af382dccd141f5df728e9a68ec1", # Verify this hash ```
    Suggestion importance[1-10]: 8 Why: Verifying hash values is crucial for security and integrity of the build process, making this a high-priority suggestion.
    8
    Best practice
    Add a comment explaining the reason for the Firefox version update and the source of the new sha256 hash values ___ **Consider adding a comment explaining the reason for updating the Firefox version and the
    source of the new sha256 hash values. This will help future maintainers understand the
    context of these changes.** [common/repositories.bzl [14-15]](https://github.com/SeleniumHQ/selenium/pull/14046/files#diff-25d82cd18102fed27d3202000e1f1b3a56a85ad2848236d91989cd30a3952401R14-R15) ```diff +# Updated to Firefox 126.0.1 due to [reason]. New sha256 hash obtained from [source]. url = "https://ftp.mozilla.org/pub/firefox/releases/126.0.1/linux-x86_64/en-US/firefox-126.0.1.tar.bz2", sha256 = "9c5fabd24f90f32c2526f62c41066c7a2ac80af382dccd141f5df728e9a68ec1", ```
    Suggestion importance[1-10]: 7 Why: Adding comments for context about version updates and hash sources enhances maintainability and clarity, which is beneficial for future code maintenance.
    7
    Possible issue
    Verify the URLs for the Firefox downloads to ensure they are correct and accessible ___ **Ensure that the URLs for the Firefox downloads are correct and accessible. Broken URLs can
    cause build failures.** [common/repositories.bzl [36]](https://github.com/SeleniumHQ/selenium/pull/14046/files#diff-25d82cd18102fed27d3202000e1f1b3a56a85ad2848236d91989cd30a3952401R36-R36) ```diff -url = "https://ftp.mozilla.org/pub/firefox/releases/126.0.1/mac/en-US/Firefox%20126.0.1.dmg", +url = "https://ftp.mozilla.org/pub/firefox/releases/126.0.1/mac/en-US/Firefox%20126.0.1.dmg", # Verify this URL ```
    Suggestion importance[1-10]: 7 Why: Ensuring URL correctness is important to prevent build failures due to inaccessible resources, thus this suggestion is quite relevant.
    7
    Maintainability
    Use a variable for the Firefox version number to avoid repetition and simplify future updates ___ **Consider using a variable for the Firefox version number to avoid repetition and make
    future updates easier.** [common/repositories.bzl [14]](https://github.com/SeleniumHQ/selenium/pull/14046/files#diff-25d82cd18102fed27d3202000e1f1b3a56a85ad2848236d91989cd30a3952401R14-R14) ```diff -url = "https://ftp.mozilla.org/pub/firefox/releases/126.0.1/linux-x86_64/en-US/firefox-126.0.1.tar.bz2", +FIREFOX_VERSION = "126.0.1" +url = f"https://ftp.mozilla.org/pub/firefox/releases/{FIREFOX_VERSION}/linux-x86_64/en-US/firefox-{FIREFOX_VERSION}.tar.bz2", ```
    Suggestion importance[1-10]: 6 Why: Using a variable for the version number improves code maintainability and reduces the risk of errors during updates, though it's a relatively minor enhancement.
    6
    codiumai-pr-agent-pro[bot] commented 1 month ago

    CI Failure Feedback ๐Ÿง

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

    **Action:** Ruby / Remote Tests (safari, macos) / Remote Tests (safari, macos)
    **Failed stage:** [Run Bazel](https://github.com/SeleniumHQ/selenium/actions/runs/9278263028/job/25529177298) [โŒ]
    **Failed test name:** Selenium::WebDriver::ActionBuilder#scroll_from scrolls by given amount with offset
    **Failure summary:** The action failed due to multiple test failures in the Selenium WebDriver integration tests for
    Safari remote. Specific issues include:
  • Selenium::WebDriver::ActionBuilder#scroll_from scrolls by given amount with offset failed due to a
    Selenium::WebDriver::Error::TimeoutError.
  • Navigation navigates back and forward failed because the title did not change as expected.
  • Navigation refreshes the page failed due to a navigation error.
  • Selenium::WebDriver::ActionBuilder#send_keys sends keys to the active element failed due to a
    Selenium::WebDriver::Error::TimeoutError.
  • Selenium::WebDriver::ActionBuilder multiple key presses sends keys with shift pressed failed due to
    a mismatch in expected key events.
  • Selenium::WebDriver::ActionBuilder#release_actions releases pressed buttons failed because the
    expected value was "Clicked" but got "Hello".
  • Selenium::WebDriver::ActionBuilder#double_click presses pointer twice and
    Selenium::WebDriver::ActionBuilder#double_click executes with equivalent pointer methods failed
    because the expected value was "DoubleClicked" but got "Clicked".
  • Selenium::WebDriver::ActionBuilder pen stylus sets pointer event properties failed due to a
    Selenium::WebDriver::Error::NoSuchElementError.
  • Selenium::WebDriver::ActionBuilder#scroll_to scrolls to element failed due to a
    Selenium::WebDriver::Error::MoveTargetOutOfBoundsError.
  • Selenium::WebDriver::ActionBuilder#scroll_from scrolls from element by given amount and
    Selenium::WebDriver::ActionBuilder#scroll_from scrolls from element by given amount with offset
    failed due to a Selenium::WebDriver::Error::MoveTargetOutOfBoundsError.
  • Selenium::WebDriver::ActionBuilder#scroll_from raises MoveTargetOutOfBoundsError when origin offset
    is out of viewport failed because the expected error was not raised.
  • Relevant error logs: ```yaml 1: ##[group]Operating System 2: macOS ... 720: [1 / 1] checking cached actions 721: Analyzing: 24 targets (685 packages loaded, 27228 targets configured) 722: [1 / 1] checking cached actions 723: Analyzing: 24 targets (686 packages loaded, 27675 targets configured) 724: [1 / 1] checking cached actions 725: Analyzing: 24 targets (688 packages loaded, 28340 targets configured) 726: [1 / 1] checking cached actions 727: Analyzing: 24 targets (688 packages loaded, 28803 targets configured) 728: [1 / 25] [Prepa] Writing repo mapping manifest for //rb/spec/integration/selenium/webdriver:error-safari-remote ... 752: inline void* Offset(void* base, uint32_t offset) { 753:  ^ 754: 1 warning generated. 755: INFO: From Linking external/protobuf~/libprotobuf_lite.a [for tool]: 756: /Applications/Xcode_15.0.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: bazel-out/darwin_x86_64-opt-exec-ST-13d3ddad9198/bin/external/protobuf~/_objs/protobuf_lite/io_win32.o has no symbols 757: [1,564 / 3,092] Compiling src/google/protobuf/compiler/python/pyi_generator.cc [for tool]; 0s disk-cache ... (3 actions, 0 running) 758: [1,697 / 3,092] Compiling src/google/protobuf/empty.pb.cc [for tool]; 0s disk-cache ... (2 actions, 0 running) 759: INFO: From Linking external/protobuf~/libprotobuf.a [for tool]: 760: /Applications/Xcode_15.0.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: bazel-out/darwin_x86_64-opt-exec-ST-13d3ddad9198/bin/external/protobuf~/_objs/protobuf/error_listener.o has no symbols ... 849: INFO: From PackageZip javascript/grid-ui/react-zip.jar: 850: /Users/runner/.bazel/execroot/_main/external/rules_python~~python~python_3_8_x86_64-apple-darwin/lib/python3.8/zipfile.py:1517: UserWarning: Duplicate name: 'grid-ui/' 851: return self._open_to_write(zinfo, force_zip64=force_zip64) 852: [2,958 / 3,092] Running bundle install (@bundle//:bundle); 59s darwin-sandbox, disk-cache ... (3 actions, 2 running) 853: [2,961 / 3,092] Running bundle install (@bundle//:bundle); 61s darwin-sandbox, disk-cache ... (2 actions, 1 running) 854: [2,961 / 3,092] Running bundle install (@bundle//:bundle); 62s darwin-sandbox, disk-cache ... (2 actions running) 855: [2,962 / 3,092] Running bundle install (@bundle//:bundle); 64s darwin-sandbox, disk-cache ... (2 actions, 1 running) 856: INFO: From Building java/src/org/openqa/selenium/remote/libapi-class.jar (66 source files): 857: java/src/org/openqa/selenium/remote/ErrorHandler.java:46: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal 858: private final ErrorCodes errorCodes; 859: ^ 860: java/src/org/openqa/selenium/remote/ErrorHandler.java:60: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal 861: this.errorCodes = new ErrorCodes(); 862: ^ 863: java/src/org/openqa/selenium/remote/ErrorHandler.java:68: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal 864: public ErrorHandler(ErrorCodes codes, boolean includeServerErrors) { 865: ^ 866: java/src/org/openqa/selenium/remote/Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal 867: ErrorCodes errorCodes = new ErrorCodes(); 868: ^ 869: java/src/org/openqa/selenium/remote/Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal 870: ErrorCodes errorCodes = new ErrorCodes(); 871: ^ 872: java/src/org/openqa/selenium/remote/ProtocolHandshake.java:181: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal 873: response.setStatus(ErrorCodes.SUCCESS); 874: ^ 875: java/src/org/openqa/selenium/remote/ProtocolHandshake.java:182: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal 876: response.setState(ErrorCodes.SUCCESS_STRING); 877: ^ 878: java/src/org/openqa/selenium/remote/W3CHandshakeResponse.java:53: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal 879: new ErrorCodes().toStatus((String) rawError, Optional.of(tuple.getStatusCode()))); 880: ^ 881: java/src/org/openqa/selenium/remote/W3CHandshakeResponse.java:56: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal 882: new ErrorCodes().getExceptionType((String) rawError); 883: ^ 884: 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 885: private final ErrorCodes errorCodes = new ErrorCodes(); 886: ^ 887: 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 888: private final ErrorCodes errorCodes = new ErrorCodes(); 889: ^ 890: 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 891: int status = response.getStatus() == ErrorCodes.SUCCESS ? HTTP_OK : HTTP_INTERNAL_ERROR; 892: ^ 893: 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 894: response.setStatus(ErrorCodes.UNKNOWN_COMMAND); 895: ^ 896: 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 897: response.setStatus(ErrorCodes.UNHANDLED_ERROR); 898: ^ 899: 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 900: response.setStatus(ErrorCodes.SUCCESS); 901: ^ 902: 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 903: response.setState(errorCodes.toState(ErrorCodes.SUCCESS)); 904: ^ 905: 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 906: response.setState(errorCodes.toState(ErrorCodes.SUCCESS)); 907: ^ 908: 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 909: private final ErrorCodes errorCodes = new ErrorCodes(); 910: ^ 911: 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 912: private final ErrorCodes errorCodes = new ErrorCodes(); 913: ^ 914: 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 915: response.setStatus(ErrorCodes.UNKNOWN_COMMAND); 916: ^ 917: 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 918: response.setStatus(ErrorCodes.UNHANDLED_ERROR); 919: ^ 920: 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 921: response.setStatus(ErrorCodes.SUCCESS); ... 1043: [3,093 / 3,094] 1 / 24 tests; Testing //rb/spec/integration/selenium/webdriver:driver-safari-remote; 1s local, disk-cache 1044: [3,093 / 3,094] 1 / 24 tests; Testing //rb/spec/integration/selenium/webdriver:driver-safari-remote; 48s local, disk-cache 1045: [3,094 / 3,095] 2 / 24 tests; Testing //rb/spec/integration/selenium/webdriver:shadow_root-safari-remote; 1s disk-cache 1046: [3,094 / 3,095] 2 / 24 tests; Testing //rb/spec/integration/selenium/webdriver:shadow_root-safari-remote; 0s local, disk-cache 1047: [3,094 / 3,095] 2 / 24 tests; Testing //rb/spec/integration/selenium/webdriver:shadow_root-safari-remote; 63s local, disk-cache 1048: [3,095 / 3,096] 3 / 24 tests; Testing //rb/spec/integration/selenium/webdriver:timeout-safari-remote; 1s disk-cache 1049: [3,095 / 3,096] 3 / 24 tests; Testing //rb/spec/integration/selenium/webdriver:timeout-safari-remote; 0s local, disk-cache 1050: [3,095 / 3,096] 3 / 24 tests; Testing //rb/spec/integration/selenium/webdriver:timeout-safari-remote; 22s local, disk-cache 1051: [3,096 / 3,097] 4 / 24 tests; Testing //rb/spec/integration/selenium/webdriver:error-safari-remote; 0s disk-cache 1052: [3,096 / 3,097] 4 / 24 tests; [Sched] Testing //rb/spec/integration/selenium/webdriver:error-safari-remote 1053: [3,096 / 3,097] 4 / 24 tests; Testing //rb/spec/integration/selenium/webdriver:error-safari-remote; 1s local, disk-cache 1054: [3,096 / 3,097] 4 / 24 tests; Testing //rb/spec/integration/selenium/webdriver:error-safari-remote; 17s local, disk-cache ... 1112: moves pointer to specified coordinates 1113: pen stylus 1114: sets pointer event properties (PENDING: Test guarded; Some issues with resolution?) 1115: #scroll_to 1116: scrolls to element (PENDING: Test guarded; no reason given) 1117: #scroll_by 1118: scrolls by given amount 1119: #scroll_from 1120: scrolls from element by given amount (PENDING: Test guarded; incorrect MoveTargetOutOfBoundsError) 1121: scrolls from element by given amount with offset (PENDING: Test guarded; incorrect MoveTargetOutOfBoundsError) 1122: raises MoveTargetOutOfBoundsError when origin offset from element is out of viewport 1123: scrolls by given amount with offset (FAILED - 1) 1124: raises MoveTargetOutOfBoundsError when origin offset is out of viewport (PENDING: Test guarded; no reason given) 1125: Pending: (Failures listed here are expected and do not affect your suite's status) 1126: 1) Selenium::WebDriver::ActionBuilder#send_keys sends keys to the active element 1127: # Test guarded; no reason given 1128: Failure/Error: wait.until { keylogger.text.split.length == 2 } 1129: Selenium::WebDriver::Error::TimeoutError: 1130: timed out after 10 seconds 1131: # ./rb/lib/selenium/webdriver/common/wait.rb:73:in `until' 1132: # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:35:in `block (3 levels) in ' 1133: 2) Selenium::WebDriver::ActionBuilder multiple key presses sends keys with shift pressed 1134: # Test guarded; no reason given 1135: Got 1 failure: 1136: 2.1) Failure/Error: expect(expected).to match(/^(focus )?keydown keydown keypress keyup keydown keypress keyup keyup$/) 1137: expected "\u00A0focus keydown keydown keypress keyup keydown keypress keyup keyup" to match /^(focus )?keydown keydown keypress keyup keydown keypress keyup keyup$/ 1138: Diff: 1139: @@ -1 +1 @@ 1140: -/^(focus )?keydown keydown keypress keyup keydown keypress keyup keyup$/ 1141: +"\u00A0focus keydown keydown keypress keyup keydown keypress keyup keyup" 1142: # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:88:in `block (3 levels) in ' 1143: 3) Selenium::WebDriver::ActionBuilder#release_actions releases pressed buttons 1144: # Test guarded; no reason given 1145: Got 1 failure: 1146: 3.1) Failure/Error: expect(event_input.attribute(:value)).to eq('Clicked') 1147: expected: "Clicked" 1148: got: "Hello" 1149: (compared using ==) 1150: # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:137:in `block (3 levels) in ' 1151: 4) Selenium::WebDriver::ActionBuilder#double_click presses pointer twice 1152: # Test guarded; no reason given 1153: Got 1 failure: 1154: 4.1) Failure/Error: expect(element.attribute(:value)).to eq('DoubleClicked') 1155: expected: "DoubleClicked" 1156: got: "Clicked" 1157: (compared using ==) 1158: # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:163:in `block (3 levels) in ' 1159: 5) Selenium::WebDriver::ActionBuilder#double_click executes with equivalent pointer methods 1160: # Test guarded; no reason given 1161: Got 1 failure: 1162: 5.1) Failure/Error: expect(element.attribute(:value)).to eq('DoubleClicked') 1163: expected: "DoubleClicked" 1164: got: "Clicked" 1165: (compared using ==) 1166: # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:174:in `block (3 levels) in ' 1167: 6) Selenium::WebDriver::ActionBuilder pen stylus sets pointer event properties 1168: # Test guarded; Some issues with resolution? 1169: Failure/Error: down = properties(driver.find_element(class: 'pointerdown')) 1170: Selenium::WebDriver::Error::NoSuchElementError: 1171: ; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception ... 1176: # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request' 1177: # ./rb/lib/selenium/webdriver/remote/http/common.rb:67:in `call' 1178: # ./rb/lib/selenium/webdriver/remote/bridge.rb:630:in `execute' 1179: # ./rb/lib/selenium/webdriver/remote/bridge.rb:543:in `find_element_by' 1180: # ./rb/lib/selenium/webdriver/common/search_context.rb:71:in `find_element' 1181: # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:287:in `block (3 levels) in ' 1182: 7) Selenium::WebDriver::ActionBuilder#scroll_to scrolls to element 1183: # Test guarded; no reason given 1184: Failure/Error: driver.action.scroll_to(iframe).perform 1185: Selenium::WebDriver::Error::MoveTargetOutOfBoundsError: ... 1189: # ./rb/lib/selenium/webdriver/remote/http/common.rb:101:in `create_response' 1190: # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request' 1191: # ./rb/lib/selenium/webdriver/remote/http/common.rb:67:in `call' 1192: # ./rb/lib/selenium/webdriver/remote/bridge.rb:630:in `execute' 1193: # ./rb/lib/selenium/webdriver/remote/bridge.rb:403:in `send_actions' 1194: # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in `perform' 1195: # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:315:in `block (3 levels) in ' 1196: 8) Selenium::WebDriver::ActionBuilder#scroll_from scrolls from element by given amount 1197: # Test guarded; incorrect MoveTargetOutOfBoundsError 1198: Failure/Error: driver.action.scroll_from(scroll_origin, 0, 200).perform 1199: Selenium::WebDriver::Error::MoveTargetOutOfBoundsError: ... 1203: # ./rb/lib/selenium/webdriver/remote/http/common.rb:101:in `create_response' 1204: # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request' 1205: # ./rb/lib/selenium/webdriver/remote/http/common.rb:67:in `call' 1206: # ./rb/lib/selenium/webdriver/remote/bridge.rb:630:in `execute' 1207: # ./rb/lib/selenium/webdriver/remote/bridge.rb:403:in `send_actions' 1208: # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in `perform' 1209: # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:343:in `block (3 levels) in ' 1210: 9) Selenium::WebDriver::ActionBuilder#scroll_from scrolls from element by given amount with offset 1211: # Test guarded; incorrect MoveTargetOutOfBoundsError 1212: Failure/Error: driver.action.scroll_from(scroll_origin, 0, 200).perform 1213: Selenium::WebDriver::Error::MoveTargetOutOfBoundsError: ... 1216: # ./rb/lib/selenium/webdriver/remote/http/common.rb:101:in `new' 1217: # ./rb/lib/selenium/webdriver/remote/http/common.rb:101:in `create_response' 1218: # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request' 1219: # ./rb/lib/selenium/webdriver/remote/http/common.rb:67:in `call' 1220: # ./rb/lib/selenium/webdriver/remote/bridge.rb:630:in `execute' 1221: # ./rb/lib/selenium/webdriver/remote/bridge.rb:403:in `send_actions' 1222: # ./rb/lib/selenium/webdriver/common/action_builder.rb:198:in `perform' 1223: # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:357:in `block (3 levels) in ' 1224: 10) Selenium::WebDriver::ActionBuilder#scroll_from raises MoveTargetOutOfBoundsError when origin offset is out of viewport 1225: # Test guarded; no reason given 1226: Got 1 failure: 1227: 10.1) Failure/Error: 1228: expect { 1229: driver.action.scroll_from(scroll_origin, 0, 200).perform 1230: }.to raise_error(Error::MoveTargetOutOfBoundsError) 1231: expected Selenium::WebDriver::Error::MoveTargetOutOfBoundsError but nothing was raised 1232: # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:396:in `block (3 levels) in ' 1233: Failures: 1234: 1) Selenium::WebDriver::ActionBuilder#scroll_from scrolls by given amount with offset 1235: Failure/Error: 1236: expect { 1237: wait.until { in_viewport?(checkbox) } 1238: }.not_to raise_error 1239: expected no Exception, got # with backtrace: 1240: # ./rb/lib/selenium/webdriver/common/wait.rb:73:in `until' 1241: # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:387:in `block (4 levels) in ' 1242: # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:386:in `block (3 levels) in ' 1243: # ./rb/spec/integration/selenium/webdriver/action_builder_spec.rb:386:in `block (3 levels) in ' 1244: Finished in 1 minute 48.19 seconds (files took 0.26931 seconds to load) 1245: 27 examples, 1 failure, 10 pending 1246: Failed examples: ... 1304: [3,115 / 3,116] 23 / 24 tests; Testing //rb/spec/integration/selenium/webdriver:navigation-safari-remote; 307s local, disk-cache 1305: FAIL: //rb/spec/integration/selenium/webdriver:navigation-safari-remote (see /Users/runner/.bazel/execroot/_main/bazel-out/darwin_x86_64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/navigation-safari-remote/test_attempts/attempt_1.log) 1306: [3,115 / 3,116] 23 / 24 tests; Testing //rb/spec/integration/selenium/webdriver:navigation-safari-remote; 309s local, disk-cache 1307: [3,115 / 3,116] 23 / 24 tests; Testing //rb/spec/integration/selenium/webdriver:navigation-safari-remote; 324s local, disk-cache 1308: FAIL: //rb/spec/integration/selenium/webdriver:navigation-safari-remote (see /Users/runner/.bazel/execroot/_main/bazel-out/darwin_x86_64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/navigation-safari-remote/test_attempts/attempt_2.log) 1309: [3,115 / 3,116] 23 / 24 tests; Testing //rb/spec/integration/selenium/webdriver:navigation-safari-remote; 326s local, disk-cache 1310: [3,115 / 3,116] 23 / 24 tests; Testing //rb/spec/integration/selenium/webdriver:navigation-safari-remote; 342s local, disk-cache 1311: FAIL: //rb/spec/integration/selenium/webdriver:navigation-safari-remote (see /Users/runner/.bazel/execroot/_main/bazel-out/darwin_x86_64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/navigation-safari-remote/test.log) 1312: FAILED: //rb/spec/integration/selenium/webdriver:navigation-safari-remote (Summary) ... 1321: Running Ruby specs: 1322: browser: safari 1323: driver: remote 1324: version: 17.4.1 1325: platform: macosx 1326: ci: github 1327: ruby: ruby 3.0.6p216 (2023-03-30 revision 23a532679b) [x86_64-darwin22] 1328: Navigation 1329: navigates back and forward (FAILED - 1) 1330: refreshes the page (FAILED - 2) 1331: Failures: 1332: 1) Navigation navigates back and forward 1333: Failure/Error: wait.until { driver.title != form_title } ... 1338: # ./rb/lib/selenium/webdriver/remote/http/common.rb:67:in `call' 1339: # ./rb/lib/selenium/webdriver/remote/bridge.rb:630:in `execute' 1340: # ./rb/lib/selenium/webdriver/remote/bridge.rb:171:in `title' 1341: # ./rb/lib/selenium/webdriver/common/driver.rb:155:in `title' 1342: # ./rb/spec/integration/selenium/webdriver/navigation_spec.rb:33:in `block (3 levels) in ' 1343: # ./rb/lib/selenium/webdriver/common/wait.rb:56:in `until' 1344: # ./rb/spec/integration/selenium/webdriver/navigation_spec.rb:33:in `block (2 levels) in ' 1345: 2) Navigation refreshes the page 1346: Failure/Error: driver.navigate.to url_for('javascriptPage.html') ... 1349: # ./rb/lib/selenium/webdriver/remote/http/default.rb:118:in `response_for' 1350: # ./rb/lib/selenium/webdriver/remote/http/default.rb:75:in `request' 1351: # ./rb/lib/selenium/webdriver/remote/http/common.rb:67:in `call' 1352: # ./rb/lib/selenium/webdriver/remote/bridge.rb:630:in `execute' 1353: # ./rb/lib/selenium/webdriver/remote/bridge.rb:119:in `get' 1354: # ./rb/lib/selenium/webdriver/common/navigation.rb:32:in `to' 1355: # ./rb/spec/integration/selenium/webdriver/navigation_spec.rb:51:in `block (2 levels) in ' 1356: Finished in 5 minutes 4 seconds (files took 0.27104 seconds to load) 1357: 2 examples, 2 failures 1358: Failed examples: 1359: rspec ./rb/spec/integration/selenium/webdriver/navigation_spec.rb:23 # Navigation navigates back and forward 1360: rspec ./rb/spec/integration/selenium/webdriver/navigation_spec.rb:48 # Navigation refreshes the page 1361: ================================================================================ 1362: ==================== Test output for //rb/spec/integration/selenium/webdriver:navigation-safari-remote: 1363: :134: warning: /var/root/.local/share/gem/ruby/3.0.0/specifications: Permission denied 1364: :134: warning: /var/root/.local/share/gem/ruby/3.0.0/specifications: Permission denied 1365: 2024-05-29 01:33:57 INFO Selenium Server Location: /Users/runner/.bazel/execroot/_main/bazel-out/darwin_x86_64-fastbuild/bin/rb/spec/integration/selenium/webdriver/navigation-safari-remote.sh.runfiles/_main/java/src/org/openqa/selenium/grid/selenium_server_deploy.jar 1366: Running Ruby specs: 1367: An error occurred in a `before(:suite)` hook. 1368: Failure/Error: Unable to find [remote server] org.openqa.selenium.grid.node.config.DriverServiceSessionFactory(DriverServiceSessionFactory.java) to read failed line 1369: Selenium::WebDriver::Error::SessionNotCreatedError: 1370: Could not start a new session. Error while creating session with the driver service. Stopping driver service: Could not start a new session. Response code 500. Message: Could not create a session: The Safari instance is already paired with another WebDriver session. ... 1402: # ./rb/lib/selenium/webdriver/common/driver.rb:57:in `for' 1403: # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:212:in `remote_driver' 1404: # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:154:in `create_driver!' 1405: # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:61:in `driver_instance' 1406: # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:189:in `current_env' 1407: # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:42:in `print_env' 1408: # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_helper.rb:41:in `block (2 levels) in ' 1409: Finished in 12.69 seconds (files took 0.26868 seconds to load) 1410: 0 examples, 0 failures, 1 error occurred outside of examples 1411: ================================================================================ 1412: ==================== Test output for //rb/spec/integration/selenium/webdriver:navigation-safari-remote: 1413: :134: warning: /var/root/.local/share/gem/ruby/3.0.0/specifications: Permission denied 1414: :134: warning: /var/root/.local/share/gem/ruby/3.0.0/specifications: Permission denied 1415: 2024-05-29 01:34:14 INFO Selenium Server Location: /Users/runner/.bazel/execroot/_main/bazel-out/darwin_x86_64-fastbuild/bin/rb/spec/integration/selenium/webdriver/navigation-safari-remote.sh.runfiles/_main/java/src/org/openqa/selenium/grid/selenium_server_deploy.jar 1416: Running Ruby specs: 1417: An error occurred in a `before(:suite)` hook. 1418: Failure/Error: Unable to find [remote server] org.openqa.selenium.grid.node.config.DriverServiceSessionFactory(DriverServiceSessionFactory.java) to read failed line 1419: Selenium::WebDriver::Error::SessionNotCreatedError: 1420: Could not start a new session. Error while creating session with the driver service. Stopping driver service: Could not start a new session. Response code 500. Message: Could not create a session: The Safari instance is already paired with another WebDriver session. ... 1452: # ./rb/lib/selenium/webdriver/common/driver.rb:57:in `for' 1453: # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:212:in `remote_driver' 1454: # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:154:in `create_driver!' 1455: # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:61:in `driver_instance' 1456: # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:189:in `current_env' 1457: # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb:42:in `print_env' 1458: # /Users/runner/work/selenium/selenium/rb/spec/integration/selenium/webdriver/spec_helper.rb:41:in `block (2 levels) in ' 1459: Finished in 13.52 seconds (files took 0.25634 seconds to load) 1460: 0 examples, 0 failures, 1 error occurred outside of examples 1461: ================================================================================ 1462: INFO: Found 24 test targets... 1463: INFO: Elapsed time: 2301.132s, Critical Path: 439.40s 1464: INFO: 2878 processes: 1402 disk cache hit, 1169 internal, 244 darwin-sandbox, 55 local, 8 worker. 1465: INFO: Build completed, 1 test FAILED, 2878 total actions 1466: //rb/spec/integration/selenium/webdriver:bidi-safari-remote PASSED in 121.2s 1467: //rb/spec/integration/selenium/webdriver:devtools-safari-remote PASSED in 250.5s 1468: //rb/spec/integration/selenium/webdriver:driver-safari-remote PASSED in 48.8s 1469: //rb/spec/integration/selenium/webdriver:element-safari-remote PASSED in 53.5s 1470: //rb/spec/integration/selenium/webdriver:error-safari-remote PASSED in 17.7s ... 1480: //rb/spec/integration/selenium/webdriver:virtual_authenticator-safari-remote PASSED in 16.8s 1481: //rb/spec/integration/selenium/webdriver:window-safari-remote PASSED in 31.0s 1482: //rb/spec/integration/selenium/webdriver:zipper-safari-remote PASSED in 17.4s 1483: //rb/spec/integration/selenium/webdriver/bidi:browsing_context-safari-remote PASSED in 235.3s 1484: //rb/spec/integration/selenium/webdriver/bidi:log_inspector-safari-remote PASSED in 286.0s 1485: //rb/spec/integration/selenium/webdriver/remote:driver-safari-remote PASSED in 17.0s 1486: //rb/spec/integration/selenium/webdriver/remote:element-safari-remote PASSED in 18.3s 1487: //rb/spec/integration/selenium/webdriver/safari:driver-safari-remote PASSED in 18.1s 1488: //rb/spec/integration/selenium/webdriver:action_builder-safari-remote FLAKY, failed in 1 out of 2 in 112.3s 1489: Stats over 2 runs: max = 112.3s, min = 103.6s, avg = 107.9s, dev = 4.3s 1490: /Users/runner/.bazel/execroot/_main/bazel-out/darwin_x86_64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/action_builder-safari-remote/test_attempts/attempt_1.log 1491: //rb/spec/integration/selenium/webdriver:navigation-safari-remote FAILED in 3 out of 3 in 308.0s 1492: Stats over 3 runs: max = 308.0s, min = 16.7s, avg = 114.0s, dev = 137.1s 1493: /Users/runner/.bazel/execroot/_main/bazel-out/darwin_x86_64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/navigation-safari-remote/test.log 1494: /Users/runner/.bazel/execroot/_main/bazel-out/darwin_x86_64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/navigation-safari-remote/test_attempts/attempt_1.log 1495: /Users/runner/.bazel/execroot/_main/bazel-out/darwin_x86_64-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/navigation-safari-remote/test_attempts/attempt_2.log 1496: Executed 24 out of 24 tests: 23 tests pass and 1 fails locally. 1497: There were tests whose specified size is too big. Use the --test_verbose_timeout_warnings command line option to see which ones these are. 1498:  1499: ##[error]Process completed with exit code 3. ```

    โœจ 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/).