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

[py] implement configurable configuration class for the http client #13286

Merged
merged 12 commits into from
Oct 25, 2024

Conversation

titusfortner
Copy link
Member

@titusfortner titusfortner commented Dec 11, 2023

Description

  • Updated implementation of [py] Use Config class for http client settings #12033
  • This deprecates and replaces existing functionality for:
    • Remote Connection URL
    • Keep Alive
    • Ignore Proxy
    • Certificates
    • connection / open timeout (via init_args_for_pool_manager)
    • read timeout
    • Max Redirects (via init_args_for_pool_manager)
  • Add functionality for:
    • Authorization headers for Remote Connection URL
  • This adds ability to pass in Proxy as part of implementing ignore proxy replacement
  • I added typing where it did not exist; I'm not sure I got the "Optional" ones correct
  • Many of these methods should have docstrings, but I didn't add any where they don't exist

Motivation and Context

Still need to implement:

@codecov-commenter
Copy link

codecov-commenter commented Dec 11, 2023

Codecov Report

Attention: Patch coverage is 68.42105% with 42 lines in your changes are missing coverage. Please review.

Project coverage is 58.30%. Comparing base (57f8398) to head (f19652f).
Report is 271 commits behind head on trunk.

❗ Current head f19652f differs from pull request most recent head d6f16e7. Consider uploading reports for the commit d6f16e7 to get more accurate results

Files Patch % Lines
py/selenium/webdriver/remote/client_config.py 41.81% 32 Missing ⚠️
py/selenium/webdriver/remote/remote_connection.py 82.14% 5 Missing ⚠️
py/selenium/webdriver/remote/webdriver.py 54.54% 5 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##            trunk   #13286      +/-   ##
==========================================
- Coverage   58.48%   58.30%   -0.18%     
==========================================
  Files          86       89       +3     
  Lines        5270     5430     +160     
  Branches      220      224       +4     
==========================================
+ Hits         3082     3166      +84     
- Misses       1968     2040      +72     
- Partials      220      224       +4     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@titusfortner titusfortner force-pushed the py_client_config_new branch 2 times, most recently from 7696a64 to 923208f Compare December 11, 2023 22:19
@titusfortner
Copy link
Member Author

I had a circular dependency so I removed all references to Proxy from RemoteConnection and am calculating getProxyUrl() in ClientConfig(), which, I'm not sure is right, but I think it may fix the problem...

Copy link
Contributor

qodo-merge-pro bot commented Oct 2, 2024

CI Failure Feedback 🧐

(Checks updated until commit 3dd1b39)

Action: Test / All RBE tests

Failed stage: Run Bazel [❌]

Failed test name: test_can_upload_two_files[chrome]

Failure summary:

The action failed because the test test_can_upload_two_files[chrome] in the file upload_tests.py did
not pass. The failure was due to an AssertionError indicating that the expected text 'test_file.txt'
was not found in the body of the page after attempting to upload two files. Additionally, there was
a StaleElementReferenceException indicating that a reference to an element was lost, which suggests
that the element was either removed from the DOM or the page was refreshed.

Relevant error logs:
1:  ##[group]Operating System
2:  Ubuntu
...

970:  Package 'php-symfony-debug-bundle' is not installed, so not removed
971:  Package 'php-symfony-dependency-injection' is not installed, so not removed
972:  Package 'php-symfony-deprecation-contracts' is not installed, so not removed
973:  Package 'php-symfony-discord-notifier' is not installed, so not removed
974:  Package 'php-symfony-doctrine-bridge' is not installed, so not removed
975:  Package 'php-symfony-doctrine-messenger' is not installed, so not removed
976:  Package 'php-symfony-dom-crawler' is not installed, so not removed
977:  Package 'php-symfony-dotenv' is not installed, so not removed
978:  Package 'php-symfony-error-handler' is not installed, so not removed
...

1803:  (19:10:22) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:351:19: runfiles symlink javascript/atoms/test/click_submit_test.html -> javascript/atoms/test/click_submit_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
1804:  (19:10:22) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:351:19: runfiles symlink javascript/atoms/test/click_test.html -> javascript/atoms/test/click_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
1805:  (19:10:22) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:351:19: runfiles symlink javascript/atoms/test/clientrect_test.html -> javascript/atoms/test/clientrect_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
1806:  (19:10:22) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:351:19: runfiles symlink javascript/atoms/test/color_test.html -> javascript/atoms/test/color_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
1807:  (19:10:22) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:351:19: runfiles symlink javascript/atoms/test/dom_test.html -> javascript/atoms/test/dom_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
1808:  (19:10:22) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:351:19: runfiles symlink javascript/atoms/test/drag_test.html -> javascript/atoms/test/drag_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
1809:  (19:10:22) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:351:19: runfiles symlink javascript/atoms/test/enabled_test.html -> javascript/atoms/test/enabled_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
1810:  (19:10:22) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:351:19: runfiles symlink javascript/atoms/test/enter_submit_test.html -> javascript/atoms/test/enter_submit_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
1811:  (19:10:22) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:351:19: runfiles symlink javascript/atoms/test/error_test.html -> javascript/atoms/test/error_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
...

1929:  warning: [options] target value 8 is obsolete and will be removed in a future release
1930:  warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
1931:  (19:10:32) �[32mAnalyzing:�[0m 2081 targets (1627 packages loaded, 54939 targets configured)
1932:  �[32m[8,449 / 10,684]�[0m 2 / 1520 tests;�[0m Extracting npm package @mui/[email protected]_796748879; 5s remote, remote-cache ... (49 actions, 4 running)
1933:  (19:10:33) �[32mINFO: �[0mFrom Installing external/rules_ruby~~ruby~bundle/rb/vendor/cache/bundler-2.5.14.gem (@@rules_ruby~~ruby~bundle//:bundler-2.5.14):
1934:  Successfully installed bundler-2.5.14
1935:  1 gem installed
1936:  (19:10:34) �[32mINFO: �[0mFrom Building java/src/org/openqa/selenium/remote/libapi-class.jar (71 source files):
1937:  java/src/org/openqa/selenium/remote/ErrorHandler.java:46: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1938:  private final ErrorCodes errorCodes;
1939:  ^
1940:  java/src/org/openqa/selenium/remote/ErrorHandler.java:60: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1941:  this.errorCodes = new ErrorCodes();
1942:  ^
1943:  java/src/org/openqa/selenium/remote/ErrorHandler.java:68: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1944:  public ErrorHandler(ErrorCodes codes, boolean includeServerErrors) {
1945:  ^
1946:  java/src/org/openqa/selenium/remote/Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1947:  ErrorCodes errorCodes = new ErrorCodes();
1948:  ^
1949:  java/src/org/openqa/selenium/remote/Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1950:  ErrorCodes errorCodes = new ErrorCodes();
1951:  ^
1952:  java/src/org/openqa/selenium/remote/ProtocolHandshake.java:181: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1953:  response.setStatus(ErrorCodes.SUCCESS);
1954:  ^
1955:  java/src/org/openqa/selenium/remote/ProtocolHandshake.java:182: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1956:  response.setState(ErrorCodes.SUCCESS_STRING);
1957:  ^
1958:  java/src/org/openqa/selenium/remote/W3CHandshakeResponse.java:53: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1959:  new ErrorCodes().toStatus((String) rawError, Optional.of(tuple.getStatusCode())));
1960:  ^
1961:  java/src/org/openqa/selenium/remote/W3CHandshakeResponse.java:56: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1962:  new ErrorCodes().getExceptionType((String) rawError);
1963:  ^
1964:  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
1965:  private final ErrorCodes errorCodes = new ErrorCodes();
1966:  ^
1967:  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
1968:  private final ErrorCodes errorCodes = new ErrorCodes();
1969:  ^
1970:  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
1971:  int status = response.getStatus() == ErrorCodes.SUCCESS ? HTTP_OK : HTTP_INTERNAL_ERROR;
1972:  ^
1973:  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
1974:  response.setStatus(ErrorCodes.UNKNOWN_COMMAND);
1975:  ^
1976:  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
1977:  response.setStatus(ErrorCodes.UNHANDLED_ERROR);
1978:  ^
1979:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:117: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1980:  response.setStatus(ErrorCodes.SUCCESS);
1981:  ^
1982:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:118: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1983:  response.setState(errorCodes.toState(ErrorCodes.SUCCESS));
1984:  ^
1985:  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
1986:  response.setState(errorCodes.toState(ErrorCodes.SUCCESS));
1987:  ^
1988:  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
1989:  private final ErrorCodes errorCodes = new ErrorCodes();
1990:  ^
1991:  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
1992:  private final ErrorCodes errorCodes = new ErrorCodes();
1993:  ^
1994:  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
1995:  response.setStatus(ErrorCodes.UNKNOWN_COMMAND);
1996:  ^
1997:  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
1998:  response.setStatus(ErrorCodes.UNHANDLED_ERROR);
1999:  ^
2000:  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
2001:  response.setStatus(ErrorCodes.SUCCESS);
...

2087:  �[32m[11,658 / 12,969]�[0m 438 / 1888 tests;�[0m [Prepa] Testing //rb/spec/integration/selenium/webdriver/remote:driver-chrome-bidi ... (49 actions, 0 running)
2088:  (19:11:23) �[32mAnalyzing:�[0m 2081 targets (1640 packages loaded, 62558 targets configured)
2089:  �[32m[12,061 / 13,279]�[0m 527 / 1921 tests;�[0m [Prepa] Testing //rb/spec/integration/selenium/webdriver:driver-firefox-beta-bidi ... (44 actions, 2 running)
2090:  (19:11:28) �[32mAnalyzing:�[0m 2081 targets (1640 packages loaded, 62593 targets configured)
2091:  �[32m[12,553 / 13,624]�[0m 621 / 1956 tests;�[0m Testing //py:common-firefox-test/selenium/webdriver/common/select_class_tests.py; 0s remote, remote-cache ... (50 actions, 1 running)
2092:  (19:11:33) �[32mAnalyzing:�[0m 2081 targets (1640 packages loaded, 62626 targets configured)
2093:  �[32m[13,004 / 13,984]�[0m 727 / 1989 tests;�[0m Testing //py:common-chrome-bidi-test/selenium/webdriver/common/upload_tests.py; 3s remote, remote-cache ... (50 actions, 9 running)
2094:  (19:11:35) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/RemotableByTest.jar (1 source file) and running annotation processors (AutoServiceProcessor):
2095:  java/test/org/openqa/selenium/remote/RemotableByTest.java:23: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2096:  import static org.openqa.selenium.remote.ErrorCodes.SUCCESS_STRING;
2097:  ^
2098:  java/test/org/openqa/selenium/remote/RemotableByTest.java:23: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2099:  import static org.openqa.selenium.remote.ErrorCodes.SUCCESS_STRING;
2100:  ^
2101:  java/test/org/openqa/selenium/remote/RemotableByTest.java:23: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2102:  import static org.openqa.selenium.remote.ErrorCodes.SUCCESS_STRING;
2103:  ^
2104:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2105:  private final ErrorCodes errorCodes = new ErrorCodes();
2106:  ^
2107:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2108:  private final ErrorCodes errorCodes = new ErrorCodes();
2109:  ^
2110:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2111:  private final ErrorCodes errorCodes = new ErrorCodes();
2112:  ^
2113:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2114:  private final ErrorCodes errorCodes = new ErrorCodes();
2115:  ^
2116:  (19:11:36) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/json/JsonTest.jar (1 source file):
2117:  java/test/org/openqa/selenium/json/JsonTest.java:430: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2118:  assertThat(response.getState()).isEqualTo(new ErrorCodes().toState(0));
2119:  ^
2120:  java/test/org/openqa/selenium/json/JsonTest.java:441: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2121:  assertThat(response.getState()).isEqualTo(new ErrorCodes().toState(0));
2122:  ^
2123:  java/test/org/openqa/selenium/json/JsonTest.java:454: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2124:  assertThat(response.getState()).isEqualTo(new ErrorCodes().toState(32));
2125:  ^
2126:  (19:11:36) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodecTest.jar (1 source file):
2127:  java/test/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodecTest.java:26: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2128:  import static org.openqa.selenium.remote.ErrorCodes.METHOD_NOT_ALLOWED;
2129:  ^
2130:  java/test/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodecTest.java:55: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2131:  assertThat(decoded.getStatus()).isEqualTo(ErrorCodes.SUCCESS);
2132:  ^
2133:  java/test/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodecTest.java:81: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2134:  assertThat(decoded.getStatus()).isEqualTo(ErrorCodes.UNHANDLED_ERROR);
2135:  ^
2136:  java/test/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodecTest.java:107: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2137:  assertThat(decoded.getStatus()).isEqualTo(ErrorCodes.UNHANDLED_ERROR);
2138:  ^
2139:  (19:11:36) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/libsmall-tests-test-lib.jar (5 source files) and running annotation processors (AutoServiceProcessor):
2140:  java/test/org/openqa/selenium/remote/WebDriverFixture.java:170: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2141:  response.setStatus(new ErrorCodes().toStatus(state, Optional.of(400)));
2142:  ^
2143:  (19:11:37) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/ErrorHandlerTest.jar (1 source file) and running annotation processors (AutoServiceProcessor):
2144:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:79: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2145:  handler.throwIfResponseFailed(createResponse(ErrorCodes.SUCCESS), 100);
2146:  ^
2147:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:85: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2148:  assertThrowsCorrectExceptionType(ErrorCodes.NO_SUCH_WINDOW, NoSuchWindowException.class);
2149:  ^
2150:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:86: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2151:  assertThrowsCorrectExceptionType(ErrorCodes.NO_SUCH_FRAME, NoSuchFrameException.class);
2152:  ^
2153:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:87: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2154:  assertThrowsCorrectExceptionType(ErrorCodes.NO_SUCH_ELEMENT, NoSuchElementException.class);
2155:  ^
2156:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:88: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2157:  assertThrowsCorrectExceptionType(ErrorCodes.UNKNOWN_COMMAND, UnsupportedCommandException.class);
2158:  ^
2159:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:90: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2160:  ErrorCodes.METHOD_NOT_ALLOWED, UnsupportedCommandException.class);
2161:  ^
2162:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:92: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2163:  ErrorCodes.STALE_ELEMENT_REFERENCE, StaleElementReferenceException.class);
2164:  ^
2165:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:94: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2166:  ErrorCodes.INVALID_ELEMENT_STATE, InvalidElementStateException.class);
2167:  ^
2168:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:95: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2169:  assertThrowsCorrectExceptionType(ErrorCodes.XPATH_LOOKUP_ERROR, InvalidSelectorException.class);
2170:  ^
2171:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:107: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2172:  Response response = createResponse(ErrorCodes.UNHANDLED_ERROR);
2173:  ^
2174:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:120: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2175:  createResponse(ErrorCodes.UNHANDLED_ERROR, "boom"), 123))
2176:  ^
2177:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:133: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2178:  createResponse(ErrorCodes.UNHANDLED_ERROR, ImmutableMap.of("message", "boom")),
2179:  ^
2180:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:147: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2181:  ErrorCodes.UNHANDLED_ERROR,
2182:  ^
2183:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:167: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2184:  ErrorCodes.UNHANDLED_ERROR,
2185:  ^
2186:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:193: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2187:  createResponse(ErrorCodes.UNHANDLED_ERROR, toMap(serverError)), 123))
2188:  ^
2189:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:214: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2190:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
2191:  ^
2192:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:248: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2193:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
2194:  ^
2195:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:280: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2196:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
2197:  ^
2198:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:308: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2199:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
2200:  ^
2201:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:327: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2202:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
2203:  ^
2204:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:355: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2205:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
2206:  ^
2207:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:394: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2208:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
2209:  ^
2210:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:426: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2211:  createResponse(ErrorCodes.UNHANDLED_ERROR, toMap(serverError)), 123))
2212:  ^
2213:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:435: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2214:  exceptions.put(ErrorCodes.NO_SUCH_SESSION, NoSuchSessionException.class);
2215:  ^
2216:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:436: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2217:  exceptions.put(ErrorCodes.NO_SUCH_ELEMENT, NoSuchElementException.class);
2218:  ^
2219:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:437: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2220:  exceptions.put(ErrorCodes.NO_SUCH_FRAME, NoSuchFrameException.class);
2221:  ^
2222:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:438: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2223:  exceptions.put(ErrorCodes.UNKNOWN_COMMAND, UnsupportedCommandException.class);
2224:  ^
2225:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:439: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2226:  exceptions.put(ErrorCodes.STALE_ELEMENT_REFERENCE, StaleElementReferenceException.class);
2227:  ^
2228:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:440: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2229:  exceptions.put(ErrorCodes.INVALID_ELEMENT_STATE, InvalidElementStateException.class);
2230:  ^
2231:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:441: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2232:  exceptions.put(ErrorCodes.UNHANDLED_ERROR, WebDriverException.class);
2233:  ^
2234:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:442: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2235:  exceptions.put(ErrorCodes.JAVASCRIPT_ERROR, JavascriptException.class);
2236:  ^
2237:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:443: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2238:  exceptions.put(ErrorCodes.XPATH_LOOKUP_ERROR, InvalidSelectorException.class);
2239:  ^
2240:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:444: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2241:  exceptions.put(ErrorCodes.TIMEOUT, TimeoutException.class);
2242:  ^
2243:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:445: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2244:  exceptions.put(ErrorCodes.NO_SUCH_WINDOW, NoSuchWindowException.class);
2245:  ^
2246:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:446: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2247:  exceptions.put(ErrorCodes.INVALID_COOKIE_DOMAIN, InvalidCookieDomainException.class);
2248:  ^
2249:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:447: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2250:  exceptions.put(ErrorCodes.UNABLE_TO_SET_COOKIE, UnableToSetCookieException.class);
2251:  ^
2252:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:448: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2253:  exceptions.put(ErrorCodes.UNEXPECTED_ALERT_PRESENT, UnhandledAlertException.class);
2254:  ^
2255:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:449: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2256:  exceptions.put(ErrorCodes.NO_ALERT_PRESENT, NoAlertPresentException.class);
2257:  ^
2258:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:450: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2259:  exceptions.put(ErrorCodes.ASYNC_SCRIPT_TIMEOUT, ScriptTimeoutException.class);
2260:  ^
2261:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:451: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2262:  exceptions.put(ErrorCodes.INVALID_SELECTOR_ERROR, InvalidSelectorException.class);
2263:  ^
2264:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:452: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2265:  exceptions.put(ErrorCodes.SESSION_NOT_CREATED, SessionNotCreatedException.class);
2266:  ^
2267:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:453: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2268:  exceptions.put(ErrorCodes.MOVE_TARGET_OUT_OF_BOUNDS, MoveTargetOutOfBoundsException.class);
2269:  ^
2270:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:454: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2271:  exceptions.put(ErrorCodes.INVALID_XPATH_SELECTOR, InvalidSelectorException.class);
2272:  ^
2273:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:455: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2274:  exceptions.put(ErrorCodes.INVALID_XPATH_SELECTOR_RETURN_TYPER, InvalidSelectorException.class);
2275:  ^
2276:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:469: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2277:  ? ErrorCodes.INVALID_SELECTOR_ERROR
2278:  ^
2279:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:471: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2280:  assertThat(new ErrorCodes().toStatusCode(e)).isEqualTo(expected);
2281:  ^
2282:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:483: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2283:  response.setState(new ErrorCodes().toState(status));
...

3834:  ^
3835:  java/test/org/openqa/selenium/remote/http/FormEncodedDataTest.java:113: warning: [removal] FormEncodedData in org.openqa.selenium.remote.http has been deprecated and marked for removal
3836:  Optional<Map<String, List<String>>> data = FormEncodedData.getData(request);
3837:  ^
3838:  (19:11:58) �[32mAnalyzing:�[0m 2081 targets (1640 packages loaded, 62713 targets configured)
3839:  �[32m[14,432 / 15,158]�[0m 1245 / 2076 tests;�[0m Testing //py:common-chrome-bidi-test/selenium/webdriver/common/upload_tests.py; 28s remote, remote-cache ... (49 actions, 1 running)
3840:  (19:12:01) �[32mINFO: �[0mAnalyzed 2081 targets (1640 packages loaded, 62718 targets configured).
3841:  (19:12:02) �[31m�[1mFAIL: �[0m//py:common-chrome-bidi-test/selenium/webdriver/common/upload_tests.py (see /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/py/common-chrome-bidi-test/selenium/webdriver/common/upload_tests.py/test.log)
3842:  �[31m�[1mFAILED: �[0m//py:common-chrome-bidi-test/selenium/webdriver/common/upload_tests.py (Summary)
...

3846:  ==================== Test output for //py:common-chrome-bidi-test/selenium/webdriver/common/upload_tests.py:
3847:  ============================= test session starts ==============================
3848:  platform linux -- Python 3.8.19, pytest-7.4.4, pluggy-1.3.0
3849:  rootdir: /mnt/engflow/worker/work/0/exec/bazel-out/k8-fastbuild/bin/py/common-chrome-bidi-test/selenium/webdriver/common/upload_tests.py.runfiles/_main/py
3850:  configfile: pyproject.toml
3851:  plugins: instafail-0.5.0, trio-0.8.0, mock-3.12.0
3852:  collected 3 items
3853:  py/test/selenium/webdriver/common/upload_tests.py::test_can_upload_file[chrome] PASSED [ 33%]
3854:  py/test/selenium/webdriver/common/upload_tests.py::test_can_upload_two_files[chrome] FAILED [ 66%]
...

3859:  def test_can_upload_two_files(driver, pages, get_local_path):
3860:  pages.load("upload.html")
3861:  two_file_paths = get_local_path("test_file.txt") + "\n" + get_local_path("test_file2.txt")
3862:  driver.find_element(By.ID, "upload").send_keys(two_file_paths)
3863:  driver.find_element(By.ID, "go").click()
3864:  driver.switch_to.frame(driver.find_element(By.ID, "upload_target"))
3865:  body = driver.find_element(By.CSS_SELECTOR, "body").text
3866:  >       assert "test_file.txt" in body
3867:  E       AssertionError: assert 'test_file.txt' in ''
3868:  py/test/selenium/webdriver/common/upload_tests.py:55: AssertionError
...

3870:  =============================== warnings summary ===============================
3871:  test/selenium/webdriver/common/upload_tests.py::test_can_upload_file[chrome]
3872:  test/selenium/webdriver/common/upload_tests.py::test_can_upload_two_files[chrome]
3873:  /mnt/engflow/worker/work/0/exec/bazel-out/k8-fastbuild/bin/py/common-chrome-bidi-test/selenium/webdriver/common/upload_tests.py.runfiles/_main/py/selenium/webdriver/chromium/remote_connection.py:33: DeprecationWarning: setting remote_server_addr in RemoteConnection() is deprecated, set in ClientConfig instance instead
3874:  super().__init__(
3875:  -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
3876:  =========================== short test summary info ============================
3877:  XFAIL py/test/selenium/webdriver/common/upload_tests.py::test_file_is_uploaded_to_remote_machine_on_select[chrome] - reason: 
3878:  FAILED py/test/selenium/webdriver/common/upload_tests.py::test_can_upload_two_files[chrome] - AssertionError: assert 'test_file.txt' in ''
3879:  ============== 1 failed, 1 passed, 1 xfailed, 2 warnings in 3.55s ==============
...

3881:  ================================================================================
3882:  ==================== Test output for //py:common-chrome-bidi-test/selenium/webdriver/common/upload_tests.py:
3883:  ============================= test session starts ==============================
3884:  platform linux -- Python 3.8.19, pytest-7.4.4, pluggy-1.3.0
3885:  rootdir: /mnt/engflow/worker/work/0/exec/bazel-out/k8-fastbuild/bin/py/common-chrome-bidi-test/selenium/webdriver/common/upload_tests.py.runfiles/_main/py
3886:  configfile: pyproject.toml
3887:  plugins: instafail-0.5.0, trio-0.8.0, mock-3.12.0
3888:  collected 3 items
3889:  py/test/selenium/webdriver/common/upload_tests.py::test_can_upload_file[chrome] FAILED [ 33%]
...

3899:  >       body = driver.find_element(By.CSS_SELECTOR, "body").text
3900:  py/test/selenium/webdriver/common/upload_tests.py:42: 
3901:  _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
3902:  py/selenium/webdriver/remote/webelement.py:90: in text
3903:  return self._execute(Command.GET_ELEMENT_TEXT)["value"]
3904:  py/selenium/webdriver/remote/webelement.py:395: in _execute
3905:  return self._parent.execute(command, params)
3906:  py/selenium/webdriver/remote/webdriver.py:380: in execute
3907:  self.error_handler.check_response(response)
3908:  _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
3909:  self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7f063b7b9670>
3910:  response = {'status': 404, 'value': '{"value":{"error":"stale element reference","message":"stale element reference: stale elemen...wn>\\n#21 0x55e5e4ead0f3 \\u003Cunknown>\\n#22 0x55e5e4ebce7c \\u003Cunknown>\\n#23 0x7f1b2abcd609 start_thread\\n"}}'}
3911:  def check_response(self, response: Dict[str, Any]) -> None:
3912:  """Checks that a JSON response from the WebDriver does not have an
3913:  error.
3914:  :Args:
3915:  - response - The JSON response from the WebDriver server as a dictionary
3916:  object.
3917:  :Raises: If the response contains an error message.
3918:  """
3919:  status = response.get("status", None)
3920:  if not status or status == ErrorCode.SUCCESS:
...

3926:  if isinstance(status, int):
3927:  value_json = response.get("value", None)
3928:  if value_json and isinstance(value_json, str):
3929:  import json
3930:  try:
3931:  value = json.loads(value_json)
3932:  if len(value) == 1:
3933:  value = value["value"]
3934:  status = value.get("error", None)
3935:  if not status:
3936:  status = value.get("status", ErrorCode.UNKNOWN_ERROR)
3937:  message = value.get("value") or value.get("message")
3938:  if not isinstance(message, str):
3939:  value = message
3940:  message = message.get("message")
3941:  else:
3942:  message = value.get("message", None)
3943:  except ValueError:
3944:  pass
3945:  exception_class: Type[WebDriverException]
3946:  e = ErrorCode()
3947:  error_codes = [item for item in dir(e) if not item.startswith("__")]
3948:  for error_code in error_codes:
3949:  error_info = getattr(ErrorCode, error_code)
3950:  if isinstance(error_info, list) and status in error_info:
3951:  exception_class = getattr(ExceptionMapping, error_code, WebDriverException)
...

3975:  if line:
3976:  file = f"{file}:{line}"
3977:  meth = frame.get("methodName", "<anonymous>")
3978:  if "className" in frame:
3979:  meth = f"{frame['className']}.{meth}"
3980:  msg = "    at %s (%s)"
3981:  msg = msg % (meth, file)
3982:  stacktrace.append(msg)
3983:  except TypeError:
...

3986:  alert_text = None
3987:  if "data" in value:
3988:  alert_text = value["data"].get("text")
3989:  elif "alert" in value:
3990:  alert_text = value["alert"].get("text")
3991:  raise exception_class(message, screen, stacktrace, alert_text)  # type: ignore[call-arg]  # mypy is not smart enough here
3992:  >       raise exception_class(message, screen, stacktrace)
3993:  E       selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: stale element not found
3994:  E         (Session info: chrome=129.0.6668.89); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#stale-element-reference-exception
...

4012:  E       #16 0x55e5e4e8c9b1 <unknown>
4013:  E       #17 0x55e5e4e75225 <unknown>
4014:  E       #18 0x55e5e4e8d532 <unknown>
4015:  E       #19 0x55e5e4e5a38f <unknown>
4016:  E       #20 0x55e5e4eacf28 <unknown>
4017:  E       #21 0x55e5e4ead0f3 <unknown>
4018:  E       #22 0x55e5e4ebce7c <unknown>
4019:  E       #23 0x7f1b2abcd609 start_thread
4020:  py/selenium/webdriver/remote/errorhandler.py:229: StaleElementReferenceException
4021:  py/test/selenium/webdriver/common/upload_tests.py::test_can_upload_two_files[chrome] FAILED [ 66%]
...

4032:  >       body = driver.find_element(By.CSS_SELECTOR, "body").text
4033:  py/test/selenium/webdriver/common/upload_tests.py:53: 
4034:  _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
4035:  py/selenium/webdriver/remote/webelement.py:90: in text
4036:  return self._execute(Command.GET_ELEMENT_TEXT)["value"]
4037:  py/selenium/webdriver/remote/webelement.py:395: in _execute
4038:  return self._parent.execute(command, params)
4039:  py/selenium/webdriver/remote/webdriver.py:380: in execute
4040:  self.error_handler.check_response(response)
4041:  _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
4042:  self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7f063ba90ac0>
4043:  response = {'status': 404, 'value': '{"value":{"error":"stale element reference","message":"stale element reference: stale elemen...wn>\\n#21 0x5605b5f0a0f3 \\u003Cunknown>\\n#22 0x5605b5f19e7c \\u003Cunknown>\\n#23 0x7f9cd9ca6609 start_thread\\n"}}'}
4044:  def check_response(self, response: Dict[str, Any]) -> None:
4045:  """Checks that a JSON response from the WebDriver does not have an
4046:  error.
4047:  :Args:
4048:  - response - The JSON response from the WebDriver server as a dictionary
4049:  object.
4050:  :Raises: If the response contains an error message.
4051:  """
4052:  status = response.get("status", None)
4053:  if not status or status == ErrorCode.SUCCESS:
...

4059:  if isinstance(status, int):
4060:  value_json = response.get("value", None)
4061:  if value_json and isinstance(value_json, str):
4062:  import json
4063:  try:
4064:  value = json.loads(value_json)
4065:  if len(value) == 1:
4066:  value = value["value"]
4067:  status = value.get("error", None)
4068:  if not status:
4069:  status = value.get("status", ErrorCode.UNKNOWN_ERROR)
4070:  message = value.get("value") or value.get("message")
4071:  if not isinstance(message, str):
4072:  value = message
4073:  message = message.get("message")
4074:  else:
4075:  message = value.get("message", None)
4076:  except ValueError:
4077:  pass
4078:  exception_class: Type[WebDriverException]
4079:  e = ErrorCode()
4080:  error_codes = [item for item in dir(e) if not item.startswith("__")]
4081:  for error_code in error_codes:
4082:  error_info = getattr(ErrorCode, error_code)
4083:  if isinstance(error_info, list) and status in error_info:
4084:  exception_class = getattr(ExceptionMapping, error_code, WebDriverException)
...

4108:  if line:
4109:  file = f"{file}:{line}"
4110:  meth = frame.get("methodName", "<anonymous>")
4111:  if "className" in frame:
4112:  meth = f"{frame['className']}.{meth}"
4113:  msg = "    at %s (%s)"
4114:  msg = msg % (meth, file)
4115:  stacktrace.append(msg)
4116:  except TypeError:
...

4119:  alert_text = None
4120:  if "data" in value:
4121:  alert_text = value["data"].get("text")
4122:  elif "alert" in value:
4123:  alert_text = value["alert"].get("text")
4124:  raise exception_class(message, screen, stacktrace, alert_text)  # type: ignore[call-arg]  # mypy is not smart enough here
4125:  >       raise exception_class(message, screen, stacktrace)
4126:  E       selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: stale element not found
4127:  E         (Session info: chrome=129.0.6668.89); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#stale-element-reference-exception
...

4145:  E       #16 0x5605b5ee99b1 <unknown>
4146:  E       #17 0x5605b5ed2225 <unknown>
4147:  E       #18 0x5605b5eea532 <unknown>
4148:  E       #19 0x5605b5eb738f <unknown>
4149:  E       #20 0x5605b5f09f28 <unknown>
4150:  E       #21 0x5605b5f0a0f3 <unknown>
4151:  E       #22 0x5605b5f19e7c <unknown>
4152:  E       #23 0x7f9cd9ca6609 start_thread
4153:  py/selenium/webdriver/remote/errorhandler.py:229: StaleElementReferenceException
...

4155:  =============================== warnings summary ===============================
4156:  test/selenium/webdriver/common/upload_tests.py::test_can_upload_file[chrome]
4157:  test/selenium/webdriver/common/upload_tests.py::test_can_upload_two_files[chrome]
4158:  /mnt/engflow/worker/work/0/exec/bazel-out/k8-fastbuild/bin/py/common-chrome-bidi-test/selenium/webdriver/common/upload_tests.py.runfiles/_main/py/selenium/webdriver/chromium/remote_connection.py:33: DeprecationWarning: setting remote_server_addr in RemoteConnection() is deprecated, set in ClientConfig instance instead
4159:  super().__init__(
4160:  -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
4161:  =========================== short test summary info ============================
4162:  XFAIL py/test/selenium/webdriver/common/upload_tests.py::test_file_is_uploaded_to_remote_machine_on_select[chrome] - reason: 
4163:  FAILED py/test/selenium/webdriver/common/upload_tests.py::test_can_upload_file[chrome] - selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: stale element not found
4164:  (Session info: chrome=129.0.6668.89); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#stale-element-reference-exception
...

4182:  #16 0x55e5e4e8c9b1 <unknown>
4183:  #17 0x55e5e4e75225 <unknown>
4184:  #18 0x55e5e4e8d532 <unknown>
4185:  #19 0x55e5e4e5a38f <unknown>
4186:  #20 0x55e5e4eacf28 <unknown>
4187:  #21 0x55e5e4ead0f3 <unknown>
4188:  #22 0x55e5e4ebce7c <unknown>
4189:  #23 0x7f1b2abcd609 start_thread
4190:  FAILED py/test/selenium/webdriver/common/upload_tests.py::test_can_upload_two_files[chrome] - selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: stale element not found
4191:  (Session info: chrome=129.0.6668.89); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#stale-element-reference-exception
...

4209:  #16 0x5605b5ee99b1 <unknown>
4210:  #17 0x5605b5ed2225 <unknown>
4211:  #18 0x5605b5eea532 <unknown>
4212:  #19 0x5605b5eb738f <unknown>
4213:  #20 0x5605b5f09f28 <unknown>
4214:  #21 0x5605b5f0a0f3 <unknown>
4215:  #22 0x5605b5f19e7c <unknown>
4216:  #23 0x7f9cd9ca6609 start_thread
4217:  =================== 2 failed, 1 xfailed, 2 warnings in 3.58s ===================
4218:  Execution result: https://gypsum.cluster.engflow.com/actions/executions/ChCgHfMQ0UNCiqLjEC0JFA-PEgdkZWZhdWx0GiUKINj0SfipoXpvuEsECVMuYrLI8NvJV4VGeMoW2YkOV747EJ8D
4219:  ================================================================================
4220:  (19:12:03) �[32m[14,623 / 15,335]�[0m 1318 / 2081 tests, �[31m�[1m1 failed�[0m;�[0m Testing //java/test/org/openqa/selenium/grid/router:JmxTest-spotbugs; 0s remote, remote-cache ... (46 actions, 1 running)
4221:  (19:12:08) �[32m[14,942 / 15,544]�[0m 1439 / 2081 tests, �[31m�[1m1 failed�[0m;�[0m Testing //dotnet/test/common:PrintTest-firefox; 1s remote, remote-cache ... (50 actions, 0 running)
4222:  (19:12:13) �[32m[15,124 / 15,616]�[0m 1553 / 2081 tests, �[31m�[1m1 failed�[0m;�[0m [Prepa] Testing //dotnet/test/common:PartialLinkTextMatchTest-chrome ... (47 actions, 0 running)
4223:  (19:12:18) �[32m[15,357 / 15,725]�[0m 1691 / 2081 tests, �[31m�[1m1 failed�[0m;�[0m [Prepa] Testing //dotnet/test/common:Internal/Logging/LogTest-firefox ... (49 actions, 1 running)
4224:  (19:12:23) �[32m[15,639 / 15,908]�[0m 1805 / 2081 tests, �[31m�[1m1 failed�[0m;�[0m Testing //java/test/org/openqa/selenium/remote/http:FilterTest-spotbugs; 0s remote, remote-cache ... (50 actions, 0 running)
4225:  (19:12:28) �[32m[15,910 / 15,991]�[0m 2001 / 2081 tests, �[31m�[1m1 failed�[0m;�[0m Testing //java/test/org/openqa/selenium/bidi/script:EvaluateParametersTest-spotbugs; 0s remote, remote-cache ... (50 actions, 0 running)
4226:  (19:12:30) �[32mINFO: �[0mFound 2081 test targets...
4227:  (19:12:30) �[32mINFO: �[0mElapsed time: 249.767s, Critical Path: 41.97s
4228:  (19:12:30) �[32mINFO: �[0m15214 processes: 7676 remote cache hit, 7485 internal, 49 local, 4 remote.
4229:  (19:12:30) �[32mINFO: �[0mBuild completed, 1 test FAILED, 15214 total actions
...

4301:  //dotnet/test/common:ElementFindingTest-edge                    �[0m�[32m(cached) PASSED�[0m in 29.0s
4302:  //dotnet/test/common:ElementFindingTest-firefox                 �[0m�[32m(cached) PASSED�[0m in 31.3s
4303:  //dotnet/test/common:ElementPropertyTest-chrome                 �[0m�[32m(cached) PASSED�[0m in 5.7s
4304:  //dotnet/test/common:ElementPropertyTest-edge                   �[0m�[32m(cached) PASSED�[0m in 9.0s
4305:  //dotnet/test/common:ElementPropertyTest-firefox                �[0m�[32m(cached) PASSED�[0m in 12.0s
4306:  //dotnet/test/common:ElementSelectingTest-chrome                �[0m�[32m(cached) PASSED�[0m in 9.2s
4307:  //dotnet/test/common:ElementSelectingTest-edge                  �[0m�[32m(cached) PASSED�[0m in 10.0s
4308:  //dotnet/test/common:ElementSelectingTest-firefox               �[0m�[32m(cached) PASSED�[0m in 20.1s
4309:  //dotnet/test/common:ErrorsTest-chrome                          �[0m�[32m(cached) PASSED�[0m in 5.5s
4310:  //dotnet/test/common:ErrorsTest-edge                            �[0m�[32m(cached) PASSED�[0m in 7.1s
4311:  //dotnet/test/common:ErrorsTest-firefox                         �[0m�[32m(cached) PASSED�[0m in 9.5s
...

4641:  //java/test/org/openqa/selenium:ElementFindingTest-edge         �[0m�[32m(cached) PASSED�[0m in 96.3s
4642:  //java/test/org/openqa/selenium:ElementFindingTest-firefox-beta �[0m�[32m(cached) PASSED�[0m in 37.2s
4643:  //java/test/org/openqa/selenium:ElementFindingTest-spotbugs     �[0m�[32m(cached) PASSED�[0m in 10.2s
4644:  //java/test/org/openqa/selenium:ElementSelectingTest            �[0m�[32m(cached) PASSED�[0m in 24.5s
4645:  //java/test/org/openqa/selenium:ElementSelectingTest-chrome     �[0m�[32m(cached) PASSED�[0m in 12.6s
4646:  //java/test/org/openqa/selenium:ElementSelectingTest-edge       �[0m�[32m(cached) PASSED�[0m in 26.3s
4647:  //java/test/org/openqa/selenium:ElementSelectingTest-firefox-beta �[0m�[32m(cached) PASSED�[0m in 27.1s
4648:  //java/test/org/openqa/selenium:ElementSelectingTest-spotbugs   �[0m�[32m(cached) PASSED�[0m in 7.9s
4649:  //java/test/org/openqa/selenium:ErrorsTest                      �[0m�[32m(cached) PASSED�[0m in 11.3s
4650:  //java/test/org/openqa/selenium:ErrorsTest-chrome               �[0m�[32m(cached) PASSED�[0m in 8.4s
4651:  //java/test/org/openqa/selenium:ErrorsTest-edge                 �[0m�[32m(cached) PASSED�[0m in 9.9s
4652:  //java/test/org/openqa/selenium:ErrorsTest-firefox-beta         �[0m�[32m(cached) PASSED�[0m in 13.8s
4653:  //java/test/org/openqa/selenium:ErrorsTest-spotbugs             �[0m�[32m(cached) PASSED�[0m in 6.7s
...

5379:  //java/test/org/openqa/selenium/os:ExternalProcessTest          �[0m�[32m(cached) PASSED�[0m in 1.9s
5380:  //java/test/org/openqa/selenium/os:ExternalProcessTest-spotbugs �[0m�[32m(cached) PASSED�[0m in 5.6s
5381:  //java/test/org/openqa/selenium/os:OsProcessTest                �[0m�[32m(cached) PASSED�[0m in 6.3s
5382:  //java/test/org/openqa/selenium/os:OsProcessTest-spotbugs       �[0m�[32m(cached) PASSED�[0m in 8.2s
5383:  //java/test/org/openqa/selenium/remote:AugmenterTest            �[0m�[32m(cached) PASSED�[0m in 5.2s
5384:  //java/test/org/openqa/selenium/remote:AugmenterTest-spotbugs   �[0m�[32m(cached) PASSED�[0m in 9.3s
5385:  //java/test/org/openqa/selenium/remote:DesiredCapabilitiesTest  �[0m�[32m(cached) PASSED�[0m in 3.5s
5386:  //java/test/org/openqa/selenium/remote:DesiredCapabilitiesTest-spotbugs �[0m�[32m(cached) PASSED�[0m in 8.5s
5387:  //java/test/org/openqa/selenium/remote:ErrorCodecTest           �[0m�[32m(cached) PASSED�[0m in 2.0s
5388:  //java/test/org/openqa/selenium/remote:ErrorCodecTest-spotbugs  �[0m�[32m(cached) PASSED�[0m in 7.4s
5389:  //java/test/org/openqa/selenium/remote:ErrorHandlerTest         �[0m�[32m(cached) PASSED�[0m in 2.4s
5390:  //java/test/org/openqa/selenium/remote:ErrorHandlerTest-spotbugs �[0m�[32m(cached) PASSED�[0m in 5.9s
...

5968:  //py:common-firefox-test/selenium/webdriver/support/relative_by_tests.py �[0m�[32m(cached) PASSED�[0m in 100.4s
5969:  //py:test-chrome-test/selenium/webdriver/chrome/chrome_network_emulation_tests.py �[0m�[32m(cached) PASSED�[0m in 3.1s
5970:  //py:unit-test/unit/selenium/webdriver/chrome/chrome_options_tests.py �[0m�[32m(cached) PASSED�[0m in 3.4s
5971:  //py:unit-test/unit/selenium/webdriver/common/cdp_module_fallback_tests.py �[0m�[32m(cached) PASSED�[0m in 2.6s
5972:  //py:unit-test/unit/selenium/webdriver/common/common_options_tests.py �[0m�[32m(cached) PASSED�[0m in 3.2s
5973:  //py:unit-test/unit/selenium/webdriver/common/print_page_options_tests.py �[0m�[32m(cached) PASSED�[0m in 3.1s
5974:  //py:unit-test/unit/selenium/webdriver/edge/edge_options_tests.py �[0m�[32m(cached) PASSED�[0m in 1.9s
5975:  //py:unit-test/unit/selenium/webdriver/firefox/firefox_options_tests.py �[0m�[32m(cached) PASSED�[0m in 3.7s
5976:  //py:unit-test/unit/selenium/webdriver/remote/error_handler_tests.py �[0m�[32m(cached) PASSED�[0m in 4.1s
...

6011:  //rb/spec/integration/selenium/webdriver:element-edge-bidi      �[0m�[32m(cached) PASSED�[0m in 11.7s
6012:  //rb/spec/integration/selenium/webdriver:element-edge-remote    �[0m�[32m(cached) PASSED�[0m in 48.1s
6013:  //rb/spec/integration/selenium/webdriver:element-firefox        �[0m�[32m(cached) PASSED�[0m in 55.6s
6014:  //rb/spec/integration/selenium/webdriver:element-firefox-beta   �[0m�[32m(cached) PASSED�[0m in 57.3s
6015:  //rb/spec/integration/selenium/webdriver:element-firefox-beta-bidi �[0m�[32m(cached) PASSED�[0m in 18.4s
6016:  //rb/spec/integration/selenium/webdriver:element-firefox-beta-remote �[0m�[32m(cached) PASSED�[0m in 67.9s
6017:  //rb/spec/integration/selenium/webdriver:element-firefox-bidi   �[0m�[32m(cached) PASSED�[0m in 17.1s
6018:  //rb/spec/integration/selenium/webdriver:element-firefox-remote �[0m�[32m(cached) PASSED�[0m in 60.5s
6019:  //rb/spec/integration/selenium/webdriver:error-chrome           �[0m�[32m(cached) PASSED�[0m in 15.8s
6020:  //rb/spec/integration/selenium/webdriver:error-chrome-bidi      �[0m�[32m(cached) PASSED�[0m in 10.1s
6021:  //rb/spec/integration/selenium/webdriver:error-chrome-remote    �[0m�[32m(cached) PASSED�[0m in 19.0s
6022:  //rb/spec/integration/selenium/webdriver:error-edge             �[0m�[32m(cached) PASSED�[0m in 22.3s
6023:  //rb/spec/integration/selenium/webdriver:error-edge-bidi        �[0m�[32m(cached) PASSED�[0m in 13.7s
6024:  //rb/spec/integration/selenium/webdriver:error-edge-remote      �[0m�[32m(cached) PASSED�[0m in 17.9s
6025:  //rb/spec/integration/selenium/webdriver:error-firefox          �[0m�[32m(cached) PASSED�[0m in 22.0s
6026:  //rb/spec/integration/selenium/webdriver:error-firefox-beta     �[0m�[32m(cached) PASSED�[0m in 22.7s
6027:  //rb/spec/integration/selenium/webdriver:error-firefox-beta-bidi �[0m�[32m(cached) PASSED�[0m in 15.8s
6028:  //rb/spec/integration/selenium/webdriver:error-firefox-beta-remote �[0m�[32m(cached) PASSED�[0m in 20.2s
6029:  //rb/spec/integration/selenium/webdriver:error-firefox-bidi     �[0m�[32m(cached) PASSED�[0m in 16.6s
6030:  //rb/spec/integration/selenium/webdriver:error-firefox-remote   �[0m�[32m(cached) PASSED�[0m in 20.1s
...

6303:  //rb/spec/unit/selenium/webdriver/safari:service                �[0m�[32m(cached) PASSED�[0m in 17.1s
6304:  //rb/spec/unit/selenium/webdriver/support:color                 �[0m�[32m(cached) PASSED�[0m in 19.9s
6305:  //rb/spec/unit/selenium/webdriver/support:event_firing          �[0m�[32m(cached) PASSED�[0m in 19.0s
6306:  //rb/spec/unit/selenium/webdriver/support:select                �[0m�[32m(cached) PASSED�[0m in 20.0s
6307:  //rust:selenium-manager-fmt                                     �[0m�[32m(cached) PASSED�[0m in 0.2s
6308:  //rust:selenium_manager-fmt                                     �[0m�[32m(cached) PASSED�[0m in 0.2s
6309:  //rust:unit                                                     �[0m�[32m(cached) PASSED�[0m in 0.1s
6310:  //rust:unit-fmt                                                 �[0m�[32m(cached) PASSED�[0m in 0.2s
6311:  //py:common-chrome-bidi-test/selenium/webdriver/common/upload_tests.py   �[0m�[31m�[1mFAILED�[0m in 2 out of 2 in 6.0s
6312:  Stats over 2 runs: max = 6.0s, min = 5.7s, avg = 5.9s, dev = 0.1s
6313:  /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/py/common-chrome-bidi-test/selenium/webdriver/common/upload_tests.py/test.log
6314:  /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/py/common-chrome-bidi-test/selenium/webdriver/common/upload_tests.py/test_attempts/attempt_1.log
6315:  Executed 1 out of 2081 tests: 2080 tests pass and �[0m�[31m�[1m1 fails remotely�[0m.
6316:  There were tests whose specified size is too big. Use the --test_verbose_timeout_warnings command line option to see which ones these are.
6317:  (19:12:32) �[32mINFO: �[0mStreaming build results to: https://gypsum.cluster.engflow.com/invocation/f4fa04b0-2886-42d1-a4fc-e38c0262a819
6318:  �[0m
6319:  ##[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.

@VietND96 VietND96 force-pushed the py_client_config_new branch 2 times, most recently from 26b1978 to 8c0a61c Compare October 3, 2024 06:43
@VietND96 VietND96 force-pushed the py_client_config_new branch from 8c0a61c to 3d209cb Compare October 4, 2024 09:18
@VietND96 VietND96 force-pushed the py_client_config_new branch from 448437d to 3cc35c8 Compare October 17, 2024 06:32
Signed-off-by: Viet Nguyen Duc <[email protected]>
Signed-off-by: Viet Nguyen Duc <[email protected]>

# Conflicts:
#	py/selenium/webdriver/remote/remote_connection.py
#	py/selenium/webdriver/remote/webdriver.py
@VietND96 VietND96 force-pushed the py_client_config_new branch 2 times, most recently from 6aedd22 to d6c8b0d Compare October 24, 2024 09:43
@VietND96
Copy link
Member

@KazuCocoa, @navin772, can you please review this, since there is something relates to #14587

@VietND96 VietND96 force-pushed the py_client_config_new branch from d6c8b0d to 6147a29 Compare October 24, 2024 12:06
@VietND96 VietND96 force-pushed the py_client_config_new branch from 6147a29 to 6087134 Compare October 24, 2024 16:21
@VietND96 VietND96 force-pushed the py_client_config_new branch from 6087134 to 3dd1b39 Compare October 24, 2024 17:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants