You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
When importing both Appium and Selenium (4.26.0) where ClientConfig is introduced, 2 attributes _ca_certs and _timeout were moved to ClientConfig. However, looks like those are being used in AppiumConnection.
Before AppiumConnection is implemented on top of 4.26.0, adding back those 2 attrs in RemoteConnection
Motivation and Context
Types of changes
Bug fix (non-breaking change which fixes an issue)
New feature (non-breaking change which adds functionality)
Breaking change (fix or feature that would cause existing functionality to change)
Here are some key observations to aid the review process:
⏱️ Estimated effort to review: 2 🔵🔵⚪⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ Recommended focus areas for review
Potential Compatibility Issue The addition of class-level attributes _timeout and _ca_certs might affect other parts of the codebase that rely on these attributes not being present in the RemoteConnection class. Verify that this change doesn't introduce unexpected side effects in other areas of the project.
Code Duplication The newly added _timeout and _ca_certs attributes are being set both at the class level and in the __init__ method. This duplication might lead to confusion and potential inconsistencies. Consider refactoring to avoid redundancy.
Use a more idiomatic approach for checking and retrieving environment variables
Consider using the get() method of os.environ instead of the in operator and os.getenv() for a more concise and idiomatic approach to checking and retrieving environment variables.
-_ca_certs = os.getenv("REQUESTS_CA_BUNDLE") if "REQUESTS_CA_BUNDLE" in os.environ else certifi.where()+_ca_certs = os.environ.get("REQUESTS_CA_BUNDLE", certifi.where())
Apply this suggestion
Suggestion importance[1-10]: 8
Why: Using os.environ.get() is a more concise and idiomatic way to handle environment variables, improving code readability and reducing potential errors. This is a valuable enhancement to the code.
8
Use a class-level constant for the default timeout value to improve readability and performance
Consider using a class-level constant for the default timeout value instead of calculating it every time the class is instantiated. This would improve readability and potentially performance.
-_timeout = (- float(os.getenv("GLOBAL_DEFAULT_TIMEOUT", str(socket.getdefaulttimeout())))- if os.getenv("GLOBAL_DEFAULT_TIMEOUT") is not None- else socket.getdefaulttimeout()-)+DEFAULT_TIMEOUT = float(os.getenv("GLOBAL_DEFAULT_TIMEOUT", str(socket.getdefaulttimeout())))+_timeout = DEFAULT_TIMEOUT if os.getenv("GLOBAL_DEFAULT_TIMEOUT") is not None else socket.getdefaulttimeout()
Apply this suggestion
Suggestion importance[1-10]: 7
Why: The suggestion to use a class-level constant for the default timeout value can improve readability and potentially enhance performance by avoiding repeated calculations. It is a reasonable enhancement to the code structure.
7
Maintainability
Use a more descriptive name for the CA certificates attribute to improve code clarity
Consider using a more descriptive name for the class attribute _ca_certs to better reflect its purpose, such as _default_ca_certs.
-_ca_certs = os.getenv("REQUESTS_CA_BUNDLE") if "REQUESTS_CA_BUNDLE" in os.environ else certifi.where()+_default_ca_certs = os.getenv("REQUESTS_CA_BUNDLE") if "REQUESTS_CA_BUNDLE" in os.environ else certifi.where()
Apply this suggestion
Suggestion importance[1-10]: 6
Why: Renaming _ca_certs to _default_ca_certs enhances code clarity by making the attribute's purpose more explicit. This change aids maintainability but does not affect functionality.
6
Best practice
Organize import statements at the top of the file for better code structure
Move the import statements to the top of the file to follow PEP 8 guidelines for import organization.
-# Keep backward compatibility for AppiumConnection - https://github.com/SeleniumHQ/selenium/issues/14694
import os
import socket
-
import certifi
+# Rest of the class definition...+# Keep backward compatibility for AppiumConnection - https://github.com/SeleniumHQ/selenium/issues/14694+
Suggestion importance[1-10]: 5
Why: Moving import statements to the top of the file aligns with PEP 8 guidelines and improves code organization. However, this change is more stylistic and has a minor impact on functionality.
Failed test name: py/test/selenium/webdriver/common/bidi_tests.py::test_collect_log_mutations[chrome]
Failure summary:
The action failed due to a test failure in the bidi_tests.py file. The specific reasons for the failure are:
The test test_collect_log_mutations[chrome] failed with an InvalidSelectorException. This indicates that an invalid or illegal selector was specified in the test.
The test test_can_upload_file[chrome] failed with a StaleElementReferenceException, meaning that the element being referenced is no longer present in the DOM.
The test test_can_upload_two_files[chrome] also failed with a StaleElementReferenceException.
Relevant error logs:
1: ##[group]Operating System2: Ubuntu
...
970: Package 'php-symfony-debug-bundle' is not installed, so not removed971: Package 'php-symfony-dependency-injection' is not installed, so not removed972: Package 'php-symfony-deprecation-contracts' is not installed, so not removed973: Package 'php-symfony-discord-notifier' is not installed, so not removed974: Package 'php-symfony-doctrine-bridge' is not installed, so not removed975: Package 'php-symfony-doctrine-messenger' is not installed, so not removed976: Package 'php-symfony-dom-crawler' is not installed, so not removed977: Package 'php-symfony-dotenv' is not installed, so not removed978: Package 'php-symfony-error-handler' is not installed, so not removed
...
1815: warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.1816: (14:54:06) �[32mINFO: �[0mFrom Building external/protobuf~/java/core/liblite_runtime_only.jar (91 source files) [for tool]:1817: external/protobuf~/java/core/src/main/java/com/google/protobuf/UnsafeUtil.java:293: warning: [removal] AccessController in java.security has been deprecated and marked for removal1818: AccessController.doPrivileged(1819: ^1820: (14:54:06) �[32mAnalyzing:�[0m 2120 targets (1622 packages loaded, 56973 targets configured)1821: �[32m[2,850 / 3,802]�[0m 74 / 77 tests;�[0m Copying files; 0s local ... (45 actions, 8 running)1822: (14:54:07) �[32mINFO: �[0mFrom Building java/src/org/openqa/selenium/remote/libapi-class.jar (71 source files):1823: java/src/org/openqa/selenium/remote/ErrorHandler.java:46: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal1824: private final ErrorCodes errorCodes;1825: ^1826: java/src/org/openqa/selenium/remote/ErrorHandler.java:60: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal1827: this.errorCodes = new ErrorCodes();1828: ^1829: java/src/org/openqa/selenium/remote/ErrorHandler.java:68: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal1830: public ErrorHandler(ErrorCodes codes, boolean includeServerErrors) {1831: ^1832: java/src/org/openqa/selenium/remote/Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal1833: ErrorCodes errorCodes = new ErrorCodes();1834: ^1835: java/src/org/openqa/selenium/remote/Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal1836: ErrorCodes errorCodes = new ErrorCodes();1837: ^1838: java/src/org/openqa/selenium/remote/ProtocolHandshake.java:181: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal1839: response.setStatus(ErrorCodes.SUCCESS);1840: ^1841: java/src/org/openqa/selenium/remote/ProtocolHandshake.java:182: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal1842: response.setState(ErrorCodes.SUCCESS_STRING);1843: ^1844: java/src/org/openqa/selenium/remote/W3CHandshakeResponse.java:53: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal1845: new ErrorCodes().toStatus((String) rawError, Optional.of(tuple.getStatusCode())));1846: ^1847: java/src/org/openqa/selenium/remote/W3CHandshakeResponse.java:56: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal1848: new ErrorCodes().getExceptionType((String) rawError);1849: ^1850: java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:44: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal1851: private final ErrorCodes errorCodes = new ErrorCodes();1852: ^1853: java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:44: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal1854: private final ErrorCodes errorCodes = new ErrorCodes();1855: ^1856: java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:55: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal1857: int status = response.getStatus() == ErrorCodes.SUCCESS ? HTTP_OK : HTTP_INTERNAL_ERROR;1858: ^1859: java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:101: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal1860: response.setStatus(ErrorCodes.UNKNOWN_COMMAND);1861: ^1862: java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:103: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal1863: response.setStatus(ErrorCodes.UNHANDLED_ERROR);1864: ^1865: java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:117: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal1866: response.setStatus(ErrorCodes.SUCCESS);1867: ^1868: java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:118: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal1869: response.setState(errorCodes.toState(ErrorCodes.SUCCESS));1870: ^1871: java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:124: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal1872: response.setState(errorCodes.toState(ErrorCodes.SUCCESS));1873: ^1874: 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 removal1875: private final ErrorCodes errorCodes = new ErrorCodes();1876: ^1877: 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 removal1878: private final ErrorCodes errorCodes = new ErrorCodes();1879: ^1880: 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 removal1881: response.setStatus(ErrorCodes.UNKNOWN_COMMAND);1882: ^1883: 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 removal1884: response.setStatus(ErrorCodes.UNHANDLED_ERROR);1885: ^1886: 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 removal1887: response.setStatus(ErrorCodes.SUCCESS);
...
1963: (14:54:28) �[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/test1964: (14:54:28) �[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/test1965: (14:54:28) �[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/test1966: (14:54:28) �[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/test1967: (14:54:28) �[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/test1968: (14:54:28) �[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/test1969: (14:54:28) �[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/test1970: (14:54:28) �[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/test1971: (14:54:28) �[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
...
2076: (14:54:28) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/webdriver/BUILD.bazel:67:19: runfiles symlink javascript/webdriver/test/testutil_test.js -> javascript/webdriver/test/testutil_test.js obscured by javascript/webdriver/test -> bazel-out/k8-fastbuild/bin/javascript/webdriver/test2077: (14:54:31) �[32mAnalyzing:�[0m 2120 targets (1622 packages loaded, 58417 targets configured)2078: �[32m[7,120 / 7,895]�[0m 188 / 1013 tests;�[0m [Prepa] Testing //rb/spec/integration/selenium/webdriver/remote:element-edge; 4s ... (50 actions, 9 running)2079: (14:54:36) �[32mAnalyzing:�[0m 2120 targets (1622 packages loaded, 58554 targets configured)2080: �[32m[8,262 / 9,419]�[0m 213 / 1154 tests;�[0m [Prepa] Testing //rb/spec/integration/selenium/webdriver:fedcm-edge ... (47 actions, 6 running)2081: (14:54:41) �[32mAnalyzing:�[0m 2120 targets (1622 packages loaded, 58969 targets configured)2082: �[32m[8,887 / 10,752]�[0m 291 / 1655 tests;�[0m [Prepa] Testing //rb/spec/integration/selenium/webdriver:storage-chrome ... (49 actions, 7 running)2083: (14:54:46) �[32mAnalyzing:�[0m 2120 targets (1626 packages loaded, 60808 targets configured)2084: �[32m[9,259 / 11,312]�[0m 349 / 1842 tests;�[0m [Prepa] Testing //rb/spec/integration/selenium/webdriver:error-firefox ... (49 actions, 3 running)2085: (14:54:49) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodecTest.jar (1 source file):2086: 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 removal2087: import static org.openqa.selenium.remote.ErrorCodes.METHOD_NOT_ALLOWED;2088: ^2089: 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 removal2090: assertThat(decoded.getStatus()).isEqualTo(ErrorCodes.SUCCESS);2091: ^2092: 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 removal2093: assertThat(decoded.getStatus()).isEqualTo(ErrorCodes.UNHANDLED_ERROR);2094: ^2095: 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 removal2096: assertThat(decoded.getStatus()).isEqualTo(ErrorCodes.UNHANDLED_ERROR);2097: ^2098: (14:54:50) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/json/JsonTest.jar (1 source file):2099: java/test/org/openqa/selenium/json/JsonTest.java:430: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2100: assertThat(response.getState()).isEqualTo(new ErrorCodes().toState(0));2101: ^2102: java/test/org/openqa/selenium/json/JsonTest.java:441: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2103: assertThat(response.getState()).isEqualTo(new ErrorCodes().toState(0));2104: ^2105: java/test/org/openqa/selenium/json/JsonTest.java:454: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2106: assertThat(response.getState()).isEqualTo(new ErrorCodes().toState(32));
...
2109: �[32m[11,105 / 12,363]�[0m 458 / 1842 tests;�[0m Extracting npm package @mui/[email protected]_796719057; 3s remote, remote-cache ... (46 actions, 30 running)2110: (14:54:56) �[32mAnalyzing:�[0m 2120 targets (1627 packages loaded, 62179 targets configured)2111: �[32m[11,889 / 12,809]�[0m 498 / 1842 tests;�[0m [Prepa] Testing //rb/spec/integration/selenium/webdriver:listener-firefox-beta ... (42 actions, 17 running)2112: (14:55:01) �[32mINFO: �[0mFrom PackageZip javascript/grid-ui/react-zip.jar:2113: /mnt/engflow/worker/work/1/exec/bazel-out/k8-opt-exec-ST-a934f86a68ba/bin/external/rules_pkg~/pkg/private/zip/build_zip.runfiles/rules_python~~python~python_3_8_x86_64-unknown-linux-gnu/lib/python3.8/zipfile.py:1525: UserWarning: Duplicate name: 'grid-ui/'2114: return self._open_to_write(zinfo, force_zip64=force_zip64)2115: (14:55:02) �[32mAnalyzing:�[0m 2120 targets (1628 packages loaded, 62458 targets configured)2116: �[32m[12,311 / 13,270]�[0m 564 / 1893 tests;�[0m Testing //py:test-chrome-test/selenium/webdriver/chrome/chrome_network_emulation_tests.py; 1s remote, remote-cache ... (47 actions, 1 running)2117: (14:55:06) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/ErrorHandlerTest.jar (1 source file) and running annotation processors (AutoServiceProcessor):2118: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:79: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2119: handler.throwIfResponseFailed(createResponse(ErrorCodes.SUCCESS), 100);2120: ^2121: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:85: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2122: assertThrowsCorrectExceptionType(ErrorCodes.NO_SUCH_WINDOW, NoSuchWindowException.class);2123: ^2124: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:86: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2125: assertThrowsCorrectExceptionType(ErrorCodes.NO_SUCH_FRAME, NoSuchFrameException.class);2126: ^2127: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:87: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2128: assertThrowsCorrectExceptionType(ErrorCodes.NO_SUCH_ELEMENT, NoSuchElementException.class);2129: ^2130: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:88: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2131: assertThrowsCorrectExceptionType(ErrorCodes.UNKNOWN_COMMAND, UnsupportedCommandException.class);2132: ^2133: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:90: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2134: ErrorCodes.METHOD_NOT_ALLOWED, UnsupportedCommandException.class);2135: ^2136: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:92: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2137: ErrorCodes.STALE_ELEMENT_REFERENCE, StaleElementReferenceException.class);2138: ^2139: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:94: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2140: ErrorCodes.INVALID_ELEMENT_STATE, InvalidElementStateException.class);2141: ^2142: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:95: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2143: assertThrowsCorrectExceptionType(ErrorCodes.XPATH_LOOKUP_ERROR, InvalidSelectorException.class);2144: ^2145: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:107: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2146: Response response = createResponse(ErrorCodes.UNHANDLED_ERROR);2147: ^2148: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:120: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2149: createResponse(ErrorCodes.UNHANDLED_ERROR, "boom"), 123))2150: ^2151: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:133: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2152: createResponse(ErrorCodes.UNHANDLED_ERROR, ImmutableMap.of("message", "boom")),2153: ^2154: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:147: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2155: ErrorCodes.UNHANDLED_ERROR,2156: ^2157: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:167: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2158: ErrorCodes.UNHANDLED_ERROR,2159: ^2160: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:193: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2161: createResponse(ErrorCodes.UNHANDLED_ERROR, toMap(serverError)), 123))2162: ^2163: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:214: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2164: createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))2165: ^2166: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:248: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2167: createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))2168: ^2169: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:280: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2170: createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))2171: ^2172: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:308: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2173: createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))2174: ^2175: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:327: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2176: createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))2177: ^2178: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:355: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2179: createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))2180: ^2181: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:394: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2182: createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))2183: ^2184: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:426: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2185: createResponse(ErrorCodes.UNHANDLED_ERROR, toMap(serverError)), 123))2186: ^2187: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:435: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2188: exceptions.put(ErrorCodes.NO_SUCH_SESSION, NoSuchSessionException.class);2189: ^2190: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:436: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2191: exceptions.put(ErrorCodes.NO_SUCH_ELEMENT, NoSuchElementException.class);2192: ^2193: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:437: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2194: exceptions.put(ErrorCodes.NO_SUCH_FRAME, NoSuchFrameException.class);2195: ^2196: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:438: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2197: exceptions.put(ErrorCodes.UNKNOWN_COMMAND, UnsupportedCommandException.class);2198: ^2199: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:439: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2200: exceptions.put(ErrorCodes.STALE_ELEMENT_REFERENCE, StaleElementReferenceException.class);2201: ^2202: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:440: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2203: exceptions.put(ErrorCodes.INVALID_ELEMENT_STATE, InvalidElementStateException.class);2204: ^2205: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:441: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2206: exceptions.put(ErrorCodes.UNHANDLED_ERROR, WebDriverException.class);2207: ^2208: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:442: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2209: exceptions.put(ErrorCodes.JAVASCRIPT_ERROR, JavascriptException.class);2210: ^2211: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:443: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2212: exceptions.put(ErrorCodes.XPATH_LOOKUP_ERROR, InvalidSelectorException.class);2213: ^2214: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:444: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2215: exceptions.put(ErrorCodes.TIMEOUT, TimeoutException.class);2216: ^2217: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:445: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2218: exceptions.put(ErrorCodes.NO_SUCH_WINDOW, NoSuchWindowException.class);2219: ^2220: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:446: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2221: exceptions.put(ErrorCodes.INVALID_COOKIE_DOMAIN, InvalidCookieDomainException.class);2222: ^2223: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:447: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2224: exceptions.put(ErrorCodes.UNABLE_TO_SET_COOKIE, UnableToSetCookieException.class);2225: ^2226: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:448: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2227: exceptions.put(ErrorCodes.UNEXPECTED_ALERT_PRESENT, UnhandledAlertException.class);2228: ^2229: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:449: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2230: exceptions.put(ErrorCodes.NO_ALERT_PRESENT, NoAlertPresentException.class);2231: ^2232: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:450: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2233: exceptions.put(ErrorCodes.ASYNC_SCRIPT_TIMEOUT, ScriptTimeoutException.class);2234: ^2235: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:451: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2236: exceptions.put(ErrorCodes.INVALID_SELECTOR_ERROR, InvalidSelectorException.class);2237: ^2238: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:452: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2239: exceptions.put(ErrorCodes.SESSION_NOT_CREATED, SessionNotCreatedException.class);2240: ^2241: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:453: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2242: exceptions.put(ErrorCodes.MOVE_TARGET_OUT_OF_BOUNDS, MoveTargetOutOfBoundsException.class);2243: ^2244: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:454: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2245: exceptions.put(ErrorCodes.INVALID_XPATH_SELECTOR, InvalidSelectorException.class);2246: ^2247: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:455: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2248: exceptions.put(ErrorCodes.INVALID_XPATH_SELECTOR_RETURN_TYPER, InvalidSelectorException.class);2249: ^2250: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:469: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2251: ? ErrorCodes.INVALID_SELECTOR_ERROR2252: ^2253: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:471: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2254: assertThat(new ErrorCodes().toStatusCode(e)).isEqualTo(expected);2255: ^2256: java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:483: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2257: response.setState(new ErrorCodes().toState(status));2258: ^2259: (14:55:06) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/RemotableByTest.jar (1 source file) and running annotation processors (AutoServiceProcessor):2260: java/test/org/openqa/selenium/remote/RemotableByTest.java:23: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2261: import static org.openqa.selenium.remote.ErrorCodes.SUCCESS_STRING;2262: ^2263: java/test/org/openqa/selenium/remote/RemotableByTest.java:23: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2264: import static org.openqa.selenium.remote.ErrorCodes.SUCCESS_STRING;2265: ^2266: java/test/org/openqa/selenium/remote/RemotableByTest.java:23: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2267: import static org.openqa.selenium.remote.ErrorCodes.SUCCESS_STRING;2268: ^2269: java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2270: private final ErrorCodes errorCodes = new ErrorCodes();2271: ^2272: java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2273: private final ErrorCodes errorCodes = new ErrorCodes();2274: ^2275: java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2276: private final ErrorCodes errorCodes = new ErrorCodes();2277: ^2278: java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2279: private final ErrorCodes errorCodes = new ErrorCodes();2280: ^2281: (14:55:06) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/libsmall-tests-test-lib.jar (5 source files) and running annotation processors (AutoServiceProcessor):2282: java/test/org/openqa/selenium/remote/WebDriverFixture.java:170: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal2283: response.setStatus(new ErrorCodes().toStatus(state, Optional.of(400)));
...
2353: (14:58:30) �[32m[13,131 / 14,663]�[0m 628 / 2120 tests;�[0m Testing //py:common-chrome-test/selenium/webdriver/common/webdriverwait_tests.py; 99s remote, remote-cache ... (50 actions, 49 running)2354: (14:58:35) �[32m[13,150 / 14,678]�[0m 635 / 2120 tests;�[0m Testing //py:common-chrome-test/selenium/webdriver/common/webdriverwait_tests.py; 104s remote, remote-cache ... (50 actions, 47 running)2355: (14:58:41) �[32m[13,158 / 14,678]�[0m 643 / 2120 tests;�[0m Testing //py:common-chrome-test/selenium/webdriver/common/webdriverwait_tests.py; 110s remote, remote-cache ... (50 actions, 49 running)2356: (14:58:46) �[32m[13,169 / 14,683]�[0m 650 / 2120 tests;�[0m Testing //py:common-chrome-test/selenium/webdriver/common/webdriverwait_tests.py; 115s remote, remote-cache ... (50 actions, 49 running)2357: (14:58:50) �[31m�[1mFAIL: �[0m//py:common-chrome-bidi-test/selenium/webdriver/common/bidi_tests.py (see /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/py/common-chrome-bidi-test/selenium/webdriver/common/bidi_tests.py/test_attempts/attempt_1.log)2358: (14:58:53) �[32m[13,188 / 14,698]�[0m 657 / 2120 tests;�[0m Testing //py:common-chrome-test/selenium/webdriver/common/webdriverwait_tests.py; 122s remote, remote-cache ... (50 actions running)2359: (14:58:58) �[32m[13,210 / 14,718]�[0m 663 / 2120 tests;�[0m Testing //py:common-chrome-test/selenium/webdriver/common/webdriverwait_tests.py; 127s remote, remote-cache ... (50 actions, 48 running)2360: (14:59:01) �[31m�[1mFAIL: �[0m//py:common-chrome-bidi-test/selenium/webdriver/common/bidi_tests.py (see /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/py/common-chrome-bidi-test/selenium/webdriver/common/bidi_tests.py/test.log)2361: �[31m�[1mFAILED: �[0m//py:common-chrome-bidi-test/selenium/webdriver/common/bidi_tests.py (Summary)
...
2365: ============================= test session starts ==============================2366: (14:59:01) �[32mINFO: �[0mFrom Testing //py:common-chrome-bidi-test/selenium/webdriver/common/bidi_tests.py:2367: platform linux -- Python 3.8.19, pytest-7.4.4, pluggy-1.3.02368: rootdir: /mnt/engflow/worker/work/0/exec/bazel-out/k8-fastbuild/bin/py/common-chrome-bidi-test/selenium/webdriver/common/bidi_tests.py.runfiles/_main/py2369: configfile: pyproject.toml2370: plugins: instafail-0.5.0, trio-0.8.0, mock-3.12.02371: collected 4 items2372: py/test/selenium/webdriver/common/bidi_tests.py::test_check_console_messages[chrome] PASSED [ 25%]2373: py/test/selenium/webdriver/common/bidi_tests.py::test_check_error_console_messages[chrome] PASSED [ 50%]2374: py/test/selenium/webdriver/common/bidi_tests.py::test_collect_js_exceptions[chrome] PASSED [ 75%]2375: py/test/selenium/webdriver/common/bidi_tests.py::test_collect_log_mutations[chrome] FAILED [100%]
...
2393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2394: ../rules_python~~python~python_3_8_x86_64-unknown-linux-gnu/lib/python3.8/contextlib.py:178: in __aexit__2395: await self.gen.__anext__()2396: py/selenium/webdriver/common/log.py:93: in mutation_events2397: elements: list = self.driver.find_elements(By.CSS_SELECTOR, f"*[data-__webdriver_id={payload['target']}]")2398: py/selenium/webdriver/remote/webdriver.py:788: in find_elements2399: return self.execute(Command.FIND_ELEMENTS, {"using": by, "value": value})["value"] or []2400: py/selenium/webdriver/remote/webdriver.py:380: in execute2401: self.error_handler.check_response(response)2402: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2403: self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7fdd5a533400>2404: response = {'status': 400, 'value': '{"value":{"error":"invalid selector","message":"invalid selector\\nfrom javascript error: {\...wn>\\n#19 0x55da399f1a20 \\u003Cunknown>\\n#20 0x55da39a01fb6 \\u003Cunknown>\\n#21 0x7fe4f10f7609 start_thread\\n"}}'}2405: def check_response(self, response: Dict[str, Any]) -> None:2406: """Checks that a JSON response from the WebDriver does not have an2407: error.2408: :Args:2409: - response - The JSON response from the WebDriver server as a dictionary2410: object.2411: :Raises: If the response contains an error message.2412: """2413: status = response.get("status", None)2414: if not status or status == ErrorCode.SUCCESS:
...
2420: if isinstance(status, int):2421: value_json = response.get("value", None)2422: if value_json and isinstance(value_json, str):2423: import json2424: try:2425: value = json.loads(value_json)2426: if len(value) == 1:2427: value = value["value"]2428: status = value.get("error", None)2429: if not status:2430: status = value.get("status", ErrorCode.UNKNOWN_ERROR)2431: message = value.get("value") or value.get("message")2432: if not isinstance(message, str):2433: value = message2434: message = message.get("message")2435: else:2436: message = value.get("message", None)2437: except ValueError:2438: pass2439: exception_class: Type[WebDriverException]2440: e = ErrorCode()2441: error_codes = [item for item in dir(e) if not item.startswith("__")]2442: for error_code in error_codes:2443: error_info = getattr(ErrorCode, error_code)2444: if isinstance(error_info, list) and status in error_info:2445: exception_class = getattr(ExceptionMapping, error_code, WebDriverException)
...
2469: if line:2470: file = f"{file}:{line}"2471: meth = frame.get("methodName", "<anonymous>")2472: if "className" in frame:2473: meth = f"{frame['className']}.{meth}"2474: msg = " at %s (%s)"2475: msg = msg % (meth, file)2476: stacktrace.append(msg)2477: except TypeError:
...
2480: alert_text = None2481: if "data" in value:2482: alert_text = value["data"].get("text")2483: elif "alert" in value:2484: alert_text = value["alert"].get("text")2485: raise exception_class(message, screen, stacktrace, alert_text) # type: ignore[call-arg] # mypy is not smart enough here2486: > raise exception_class(message, screen, stacktrace)2487: E selenium.common.exceptions.InvalidSelectorException: Message: invalid selector2488: E from javascript error: {"status":32,"value":"An invalid or illegal selector was specified"}2489: E (Session info: chrome=130.0.6723.91); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#invalid-selector-exception
...
2505: E #14 0x55da399d3368 <unknown>2506: E #15 0x55da399bceec <unknown>2507: E #16 0x55da399d3ee7 <unknown>2508: E #17 0x55da399a213f <unknown>2509: E #18 0x55da399f1858 <unknown>2510: E #19 0x55da399f1a20 <unknown>2511: E #20 0x55da39a01fb6 <unknown>2512: E #21 0x7fe4f10f7609 start_thread2513: py/selenium/webdriver/remote/errorhandler.py:229: InvalidSelectorException2514: =========================== short test summary info ============================2515: FAILED py/test/selenium/webdriver/common/bidi_tests.py::test_collect_log_mutations[chrome] - selenium.common.exceptions.InvalidSelectorException: Message: invalid selector2516: from javascript error: {"status":32,"value":"An invalid or illegal selector was specified"}2517: (Session info: chrome=130.0.6723.91); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#invalid-selector-exception
...
2533: #14 0x55da399d3368 <unknown>2534: #15 0x55da399bceec <unknown>2535: #16 0x55da399d3ee7 <unknown>2536: #17 0x55da399a213f <unknown>2537: #18 0x55da399f1858 <unknown>2538: #19 0x55da399f1a20 <unknown>2539: #20 0x55da39a01fb6 <unknown>2540: #21 0x7fe4f10f7609 start_thread2541: ========================= 1 failed, 3 passed in 9.99s ==========================
...
2544: ==================== Test output for //py:common-chrome-bidi-test/selenium/webdriver/common/bidi_tests.py:2545: ============================= test session starts ==============================2546: platform linux -- Python 3.8.19, pytest-7.4.4, pluggy-1.3.02547: rootdir: /mnt/engflow/worker/work/0/exec/bazel-out/k8-fastbuild/bin/py/common-chrome-bidi-test/selenium/webdriver/common/bidi_tests.py.runfiles/_main/py2548: configfile: pyproject.toml2549: plugins: instafail-0.5.0, trio-0.8.0, mock-3.12.02550: collected 4 items2551: py/test/selenium/webdriver/common/bidi_tests.py::test_check_console_messages[chrome] PASSED [ 25%]2552: py/test/selenium/webdriver/common/bidi_tests.py::test_check_error_console_messages[chrome] PASSED [ 50%]2553: py/test/selenium/webdriver/common/bidi_tests.py::test_collect_js_exceptions[chrome] PASSED [ 75%]2554: py/test/selenium/webdriver/common/bidi_tests.py::test_collect_log_mutations[chrome] FAILED [100%]
...
2572: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2573: ../rules_python~~python~python_3_8_x86_64-unknown-linux-gnu/lib/python3.8/contextlib.py:178: in __aexit__2574: await self.gen.__anext__()2575: py/selenium/webdriver/common/log.py:93: in mutation_events2576: elements: list = self.driver.find_elements(By.CSS_SELECTOR, f"*[data-__webdriver_id={payload['target']}]")2577: py/selenium/webdriver/remote/webdriver.py:788: in find_elements2578: return self.execute(Command.FIND_ELEMENTS, {"using": by, "value": value})["value"] or []2579: py/selenium/webdriver/remote/webdriver.py:380: in execute2580: self.error_handler.check_response(response)2581: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2582: self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7fb815fafb20>2583: response = {'status': 400, 'value': '{"value":{"error":"invalid selector","message":"invalid selector\\nfrom javascript error: {\...wn>\\n#19 0x55b317154a20 \\u003Cunknown>\\n#20 0x55b317164fb6 \\u003Cunknown>\\n#21 0x7f1a583d6609 start_thread\\n"}}'}2584: def check_response(self, response: Dict[str, Any]) -> None:2585: """Checks that a JSON response from the WebDriver does not have an2586: error.2587: :Args:2588: - response - The JSON response from the WebDriver server as a dictionary2589: object.2590: :Raises: If the response contains an error message.2591: """2592: status = response.get("status", None)2593: if not status or status == ErrorCode.SUCCESS:
...
2599: if isinstance(status, int):2600: value_json = response.get("value", None)2601: if value_json and isinstance(value_json, str):2602: import json2603: try:2604: value = json.loads(value_json)2605: if len(value) == 1:2606: value = value["value"]2607: status = value.get("error", None)2608: if not status:2609: status = value.get("status", ErrorCode.UNKNOWN_ERROR)2610: message = value.get("value") or value.get("message")2611: if not isinstance(message, str):2612: value = message2613: message = message.get("message")2614: else:2615: message = value.get("message", None)2616: except ValueError:2617: pass2618: exception_class: Type[WebDriverException]2619: e = ErrorCode()2620: error_codes = [item for item in dir(e) if not item.startswith("__")]2621: for error_code in error_codes:2622: error_info = getattr(ErrorCode, error_code)2623: if isinstance(error_info, list) and status in error_info:2624: exception_class = getattr(ExceptionMapping, error_code, WebDriverException)
...
2648: if line:2649: file = f"{file}:{line}"2650: meth = frame.get("methodName", "<anonymous>")2651: if "className" in frame:2652: meth = f"{frame['className']}.{meth}"2653: msg = " at %s (%s)"2654: msg = msg % (meth, file)2655: stacktrace.append(msg)2656: except TypeError:
...
2659: alert_text = None2660: if "data" in value:2661: alert_text = value["data"].get("text")2662: elif "alert" in value:2663: alert_text = value["alert"].get("text")2664: raise exception_class(message, screen, stacktrace, alert_text) # type: ignore[call-arg] # mypy is not smart enough here2665: > raise exception_class(message, screen, stacktrace)2666: E selenium.common.exceptions.InvalidSelectorException: Message: invalid selector2667: E from javascript error: {"status":32,"value":"An invalid or illegal selector was specified"}2668: E (Session info: chrome=130.0.6723.91); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#invalid-selector-exception
...
2684: E #14 0x55b317136368 <unknown>2685: E #15 0x55b31711feec <unknown>2686: E #16 0x55b317136ee7 <unknown>2687: E #17 0x55b31710513f <unknown>2688: E #18 0x55b317154858 <unknown>2689: E #19 0x55b317154a20 <unknown>2690: E #20 0x55b317164fb6 <unknown>2691: E #21 0x7f1a583d6609 start_thread2692: py/selenium/webdriver/remote/errorhandler.py:229: InvalidSelectorException2693: =========================== short test summary info ============================2694: FAILED py/test/selenium/webdriver/common/bidi_tests.py::test_collect_log_mutations[chrome] - selenium.common.exceptions.InvalidSelectorException: Message: invalid selector2695: from javascript error: {"status":32,"value":"An invalid or illegal selector was specified"}2696: (Session info: chrome=130.0.6723.91); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#invalid-selector-exception
...
2712: #14 0x55b317136368 <unknown>2713: #15 0x55b31711feec <unknown>2714: #16 0x55b317136ee7 <unknown>2715: #17 0x55b31710513f <unknown>2716: #18 0x55b317154858 <unknown>2717: #19 0x55b317154a20 <unknown>2718: #20 0x55b317164fb6 <unknown>2719: #21 0x7f1a583d6609 start_thread2720: ========================= 1 failed, 3 passed in 7.84s ==========================2721: Execution result: https://gypsum.cluster.engflow.com/actions/executions/ChCgHfMQ0UNCiqLjEC0JFA-PEgdkZWZhdWx0GiUKIB8edR2oZPXKGbiwMqVqge4k_KQmAfoJBccRj79C8IduEJ8D2722: ================================================================================2723: (14:59:03) �[32m[13,230 / 14,733]�[0m 671 / 2120 tests, �[31m�[1m1 failed�[0m;�[0m Testing //py:common-chrome-test/selenium/webdriver/common/webdriverwait_tests.py; 133s remote, remote-cache ... (50 actions, 48 running)2724: (14:59:09) �[32m[13,245 / 14,748]�[0m 674 / 2120 tests, �[31m�[1m1 failed�[0m;�[0m Testing //py:common-chrome-test/selenium/webdriver/common/webdriverwait_tests.py; 138s remote, remote-cache ... (50 actions, 47 running)2725: (14:59:14) �[32m[13,261 / 14,758]�[0m 682 / 2120 tests, �[31m�[1m1 failed�[0m;�[0m Testing //py:common-chrome-test/selenium/webdriver/common/webdriverwait_tests.py; 143s remote, remote-cache ... (50 actions, 49 running)2726: (14:59:19) �[32m[13,315 / 14,783]�[0m 716 / 2120 tests, �[31m�[1m1 failed�[0m;�[0m Testing //py:common-chrome-test/selenium/webdriver/common/webdriverwait_tests.py; 148s remote, remote-cache ... (50 actions, 47 running)2727: (14:59:21) �[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_attempts/attempt_1.log)2728: (14:59:24) �[32m[13,448 / 14,843]�[0m 802 / 2120 tests, �[31m�[1m1 failed�[0m;�[0m Testing //py:common-chrome-test/selenium/webdriver/common/webdriverwait_tests.py; 153s remote, remote-cache ... (50 actions, 48 running)2729: ==================== Test output for //py:common-chrome-bidi-test/selenium/webdriver/common/upload_tests.py:2730: ============================= test session starts ==============================2731: platform linux -- Python 3.8.19, pytest-7.4.4, pluggy-1.3.02732: rootdir: /mnt/engflow/worker/work/1/exec/bazel-out/k8-fastbuild/bin/py/common-chrome-bidi-test/selenium/webdriver/common/upload_tests.py.runfiles/_main/py2733: configfile: pyproject.toml2734: plugins: instafail-0.5.0, trio-0.8.0, mock-3.12.02735: collected 3 items2736: py/test/selenium/webdriver/common/upload_tests.py::test_can_upload_file[chrome] FAILED [ 33%]
...
2746: > body = driver.find_element(By.CSS_SELECTOR, "body").text2747: py/test/selenium/webdriver/common/upload_tests.py:42: 2748: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2749: py/selenium/webdriver/remote/webelement.py:90: in text2750: return self._execute(Command.GET_ELEMENT_TEXT)["value"]2751: py/selenium/webdriver/remote/webelement.py:395: in _execute2752: return self._parent.execute(command, params)2753: py/selenium/webdriver/remote/webdriver.py:380: in execute2754: self.error_handler.check_response(response)2755: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2756: self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7fdafe0564c0>2757: response = {'status': 404, 'value': '{"value":{"error":"stale element reference","message":"stale element reference: stale elemen...wn>\\n#21 0x5626df39ba20 \\u003Cunknown>\\n#22 0x5626df3abfb6 \\u003Cunknown>\\n#23 0x7f1148e52609 start_thread\\n"}}'}2758: def check_response(self, response: Dict[str, Any]) -> None:2759: """Checks that a JSON response from the WebDriver does not have an2760: error.2761: :Args:2762: - response - The JSON response from the WebDriver server as a dictionary2763: object.2764: :Raises: If the response contains an error message.2765: """2766: status = response.get("status", None)2767: if not status or status == ErrorCode.SUCCESS:
...
2773: if isinstance(status, int):2774: value_json = response.get("value", None)2775: if value_json and isinstance(value_json, str):2776: import json2777: try:2778: value = json.loads(value_json)2779: if len(value) == 1:2780: value = value["value"]2781: status = value.get("error", None)2782: if not status:2783: status = value.get("status", ErrorCode.UNKNOWN_ERROR)2784: message = value.get("value") or value.get("message")2785: if not isinstance(message, str):2786: value = message2787: message = message.get("message")2788: else:2789: message = value.get("message", None)2790: except ValueError:2791: pass2792: exception_class: Type[WebDriverException]2793: e = ErrorCode()2794: error_codes = [item for item in dir(e) if not item.startswith("__")]2795: for error_code in error_codes:2796: error_info = getattr(ErrorCode, error_code)2797: if isinstance(error_info, list) and status in error_info:2798: exception_class = getattr(ExceptionMapping, error_code, WebDriverException)
...
2822: if line:2823: file = f"{file}:{line}"2824: meth = frame.get("methodName", "<anonymous>")2825: if "className" in frame:2826: meth = f"{frame['className']}.{meth}"2827: msg = " at %s (%s)"2828: msg = msg % (meth, file)2829: stacktrace.append(msg)2830: except TypeError:
...
2833: alert_text = None2834: if "data" in value:2835: alert_text = value["data"].get("text")2836: elif "alert" in value:2837: alert_text = value["alert"].get("text")2838: raise exception_class(message, screen, stacktrace, alert_text) # type: ignore[call-arg] # mypy is not smart enough here2839: > raise exception_class(message, screen, stacktrace)2840: E selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: stale element not found2841: E (Session info: chrome=130.0.6723.91); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#stale-element-reference-exception
...
2859: E #16 0x5626df37d368 <unknown>2860: E #17 0x5626df366eec <unknown>2861: E #18 0x5626df37dee7 <unknown>2862: E #19 0x5626df34c13f <unknown>2863: E #20 0x5626df39b858 <unknown>2864: E #21 0x5626df39ba20 <unknown>2865: E #22 0x5626df3abfb6 <unknown>2866: E #23 0x7f1148e52609 start_thread2867: py/selenium/webdriver/remote/errorhandler.py:229: StaleElementReferenceException2868: py/test/selenium/webdriver/common/upload_tests.py::test_can_upload_two_files[chrome] FAILED [ 66%]
...
2879: > body = driver.find_element(By.CSS_SELECTOR, "body").text2880: py/test/selenium/webdriver/common/upload_tests.py:53: 2881: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2882: py/selenium/webdriver/remote/webelement.py:90: in text2883: return self._execute(Command.GET_ELEMENT_TEXT)["value"]2884: py/selenium/webdriver/remote/webelement.py:395: in _execute2885: return self._parent.execute(command, params)2886: py/selenium/webdriver/remote/webdriver.py:380: in execute2887: self.error_handler.check_response(response)2888: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2889: self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7fdafdf6eb20>2890: response = {'status': 404, 'value': '{"value":{"error":"stale element reference","message":"stale element reference: stale elemen...wn>\\n#21 0x555da30bba20 \\u003Cunknown>\\n#22 0x555da30cbfb6 \\u003Cunknown>\\n#23 0x7fe02c32e609 start_thread\\n"}}'}2891: def check_response(self, response: Dict[str, Any]) -> None:2892: """Checks that a JSON response from the WebDriver does not have an2893: error.2894: :Args:2895: - response - The JSON response from the WebDriver server as a dictionary2896: object.2897: :Raises: If the response contains an error message.2898: """2899: status = response.get("status", None)2900: if not status or status == ErrorCode.SUCCESS:
...
2906: if isinstance(status, int):2907: value_json = response.get("value", None)2908: if value_json and isinstance(value_json, str):2909: import json2910: try:2911: value = json.loads(value_json)2912: if len(value) == 1:2913: value = value["value"]2914: status = value.get("error", None)2915: if not status:2916: status = value.get("status", ErrorCode.UNKNOWN_ERROR)2917: message = value.get("value") or value.get("message")2918: if not isinstance(message, str):2919: value = message2920: message = message.get("message")2921: else:2922: message = value.get("message", None)2923: except ValueError:2924: pass2925: exception_class: Type[WebDriverException]2926: e = ErrorCode()2927: error_codes = [item for item in dir(e) if not item.startswith("__")]2928: for error_code in error_codes:2929: error_info = getattr(ErrorCode, error_code)2930: if isinstance(error_info, list) and status in error_info:2931: exception_class = getattr(ExceptionMapping, error_code, WebDriverException)
...
2955: if line:2956: file = f"{file}:{line}"2957: meth = frame.get("methodName", "<anonymous>")2958: if "className" in frame:2959: meth = f"{frame['className']}.{meth}"2960: msg = " at %s (%s)"2961: msg = msg % (meth, file)2962: stacktrace.append(msg)2963: except TypeError:
...
2966: alert_text = None2967: if "data" in value:2968: alert_text = value["data"].get("text")2969: elif "alert" in value:2970: alert_text = value["alert"].get("text")2971: raise exception_class(message, screen, stacktrace, alert_text) # type: ignore[call-arg] # mypy is not smart enough here2972: > raise exception_class(message, screen, stacktrace)2973: E selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: stale element not found2974: E (Session info: chrome=130.0.6723.91); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#stale-element-reference-exception
...
2992: E #16 0x555da309d368 <unknown>2993: E #17 0x555da3086eec <unknown>2994: E #18 0x555da309dee7 <unknown>2995: E #19 0x555da306c13f <unknown>2996: E #20 0x555da30bb858 <unknown>2997: E #21 0x555da30bba20 <unknown>2998: E #22 0x555da30cbfb6 <unknown>2999: E #23 0x7fe02c32e609 start_thread3000: py/selenium/webdriver/remote/errorhandler.py:229: StaleElementReferenceException3001: py/test/selenium/webdriver/common/upload_tests.py::test_file_is_uploaded_to_remote_machine_on_select[chrome] XFAIL [100%]3002: =========================== short test summary info ============================3003: XFAIL py/test/selenium/webdriver/common/upload_tests.py::test_file_is_uploaded_to_remote_machine_on_select[chrome] - reason: 3004: 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 found3005: (Session info: chrome=130.0.6723.91); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#stale-element-reference-exception
...
3023: #16 0x5626df37d368 <unknown>3024: #17 0x5626df366eec <unknown>3025: #18 0x5626df37dee7 <unknown>3026: #19 0x5626df34c13f <unknown>3027: #20 0x5626df39b858 <unknown>3028: #21 0x5626df39ba20 <unknown>3029: #22 0x5626df3abfb6 <unknown>3030: #23 0x7f1148e52609 start_thread3031: 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 found3032: (Session info: chrome=130.0.6723.91); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#stale-element-reference-exception
...
3050: #16 0x555da309d368 <unknown>3051: #17 0x555da3086eec <unknown>3052: #18 0x555da309dee7 <unknown>3053: #19 0x555da306c13f <unknown>3054: #20 0x555da30bb858 <unknown>3055: #21 0x555da30bba20 <unknown>3056: #22 0x555da30cbfb6 <unknown>3057: #23 0x7fe02c32e609 start_thread3058: ========================= 2 failed, 1 xfailed in 3.07s =========================3059: Execution result: https://gypsum.cluster.engflow.com/actions/executions/ChCgHfMQ0UNCiqLjEC0JFA-PEgdkZWZhdWx0GiUKIJ1w97ZIYG05PBnBEKRFm3AHL2VMXivWxu0xqT2BW3WLEJ8D3060: ================================================================================3061: �[35mFLAKY: �[0m//py:common-chrome-bidi-test/selenium/webdriver/common/upload_tests.py (Summary)3062: /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.log3063: (14:59:28) �[32mINFO: �[0mFrom Testing //py:common-chrome-bidi-test/selenium/webdriver/common/upload_tests.py:3064: (14:59:29) �[32m[13,497 / 14,878]�[0m 823 / 2120 tests, �[31m�[1m1 failed�[0m;�[0m Testing //py:common-chrome-test/selenium/webdriver/common/webdriverwait_tests.py; 158s remote, remote-cache ... (50 actions, 46 running)3065: (14:59:34) �[32m[13,807 / 15,058]�[0m 988 / 2120 tests, �[31m�[1m1 failed�[0m;�[0m Testing //py:common-chrome-test/selenium/webdriver/common/webdriverwait_tests.py; 163s remote, remote-cache ... (50 actions, 43 running)3066: (14:59:39) �[32m[13,871 / 15,068]�[0m 1044 / 2120 tests, �[31m�[1m1 failed�[0m;�[0m Testing //py:common-chrome-test/selenium/webdriver/common/webdriverwait_tests.py; 168s remote, remote-cache ... (50 actions, 44 running)3067: (14:59:45) �[32m[13,935 / 15,084]�[0m 1097 / 2120 tests, �[31m�[1m1 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/driver_element_finding_tests.py; 174s remote, remote-cache ... (50 actions, 46 running)3068: (14:59:50) �[32m[13,938 / 15,084]�[0m 1100 / 2120 tests, �[31m�[1m1 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/driver_element_finding_tests.py; 179s remote, remote-cache ... (50 actions, 48 running)3069: (14:59:56) �[32m[13,955 / 15,090]�[0m 1109 / 2120 tests, �[31m�[1m1 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/driver_element_finding_tests.py; 185s remote, remote-cache ... (50 actions, 47 running)3070: (15:00:01) �[32m[13,959 / 15,090]�[0m 1113 / 2120 tests, �[31m�[1m1 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/driver_element_finding_tests.py; 190s remote, remote-cache ... (50 actions, 49 running)3071: (15:00:08) �[32m[13,961 / 15,090]�[0m 1116 / 2120 tests, �[31m�[1m1 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/driver_element_finding_tests.py; 197s remote, remote-cache ... (50 actions, 47 running)3072: (15:00:16) �[32m[13,966 / 15,095]�[0m 1116 / 2120 tests, �[31m�[1m1 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/driver_element_finding_tests.py; 205s remote, remote-cache ... (50 actions, 48 running)3073: (15:00:21) �[32m[13,971 / 15,100]�[0m 1117 / 2120 tests, �[31m�[1m1 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/driver_element_finding_tests.py; 210s remote, remote-cache ... (50 actions, 47 running)3074: (15:00:29) �[32m[13,971 / 15,100]�[0m 1117 / 2120 tests, �[31m�[1m1 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/driver_element_finding_tests.py; 219s remote, remote-cache ... (50 actions, 49 running)3075: (15:00:35) �[32m[13,972 / 15,100]�[0m 1119 / 2120 tests, �[31m�[1m1 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/driver_element_finding_tests.py; 225s remote, remote-cache ... (50 actions, 48 running)3076: (15:00:41) �[32m[13,983 / 15,105]�[0m 1126 / 2120 tests, �[31m�[1m1 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/driver_element_finding_tests.py; 230s remote, remote-cache ... (50 actions, 41 running)3077: (15:00:46) �[32m[13,997 / 15,115]�[0m 1131 / 2120 tests, �[31m�[1m1 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/driver_element_finding_tests.py; 235s remote, remote-cache ... (50 actions, 36 running)3078: (15:00:51) �[32m[13,998 / 15,115]�[0m 1132 / 2120 tests, �[31m�[1m1 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/driver_element_finding_tests.py; 240s remote, remote-cache ... (50 actions, 35 running)3079: (15:00:56) �[32m[14,019 / 15,135]�[0m 1137 / 2120 tests, �[31m�[1m1 failed�[0m;�[0m Testing //py:common-edge-bidi-test/selenium/webdriver/common/driver_element_finding_tests.py; 245s remote, remote-cache ... (50 actions, 32 running)3080: (15:01:01) �[32m[14,032 / 15,145]�[0m 1142 / 2120 tests, �[31m�[1m1 failed�[0m;�[0m Testing //py:common-firefox-test/selenium/webdriver/common/webdriverwait_tests.py; 244s remote, remote-cache ... (50 actions, 32 running)3081: (15:01:06) �[32m[14,154 / 15,145]�[0m 1147 / 2120 tests, �[31m�[1m1 failed�[0m;�[0m Testing //py:common-firefox-test/selenium/webdriver/common/webdriverwait_tests.py; 249s remote, remote-cache ... (50 actions, 31 running)3082: (15:01:11) �[32m[14,174 / 15,160]�[0m 1152 / 2120 tests, �[31m�[1m1 failed�[0m;�[0m Testing //py:common-firefox-test/selenium/webdriver/common/webdriverwait_tests.py; 254s remote, remote-cache ... (50 actions, 39 running)3083: (15:01:16) �[32m[14,183 / 15,160]�[0m 1161 / 2120 tests, �[31m�[1m1 failed�[0m;�[0m Testing //py:common-firefox-test/selenium/webdriver/common/webdriverwait_tests.py; 260s remote, remote-cache ... (50 actions, 36 running)3084: (15:01:22) �[32m[14,224 / 15,190]�[0m 1169 / 2120 tests, �[31m�[1m1 failed�[0m;�[0m Testing //py:common-firefox-test/selenium/webdriver/common/webdriverwait_tests.py; 265s remote, remote-cache ... (50 actions, 41 running)3085: (15:01:27) �[32m[14,294 / 15,240]�[0m 1183 / 2120 tests, �[31m�[1m1 failed�[0m;�[0m Testing //py:common-firefox-test/selenium/webdriver/common/webdriverwait_tests.py; 270s remote, remote-cache ... (50 actions, 47 running)3086: (15:01:32) �[32m[14,311 / 15,250]�[0m 1189 / 2120 tests, �[31m�[1m1 failed�[0m;�[0m Testing //py:common-firefox-test/selenium/webdriver/common/webdriverwait_tests.py; 275s remote, remote-cache ... (50 actions, 49 running)3087: (15:01:38) �[32m[14,331 / 15,265]�[0m 1194 / 2120 tests, �[31m�[1m1 failed�[0m;�[0m Testing //py:common-firefox-test/selenium/webdriver/common/webdriverwait_tests.py; 282s remote, remote-cache ... (50 actions running)3088: (15:01:43) �[32mINFO: �[0mFrom Compiling webdriver-netstandard2.0:3089: bazel-out/k8-fastbuild/bin/dotnet/src/webdriver/cdp/v128/Target/TargetInfo.cs(22,149): warning CS1570: XML comment has badly formed XML -- 'Reference to undefined entity 'q'.'3090: bazel-out/k8-fastbuild/bin/dotnet/src/webdriver/cdp/v129/Target/TargetInfo.cs(22,149): warning CS1570: XML comment has badly formed XML -- 'Reference to undefined entity 'q'.'3091: bazel-out/k8-fastbuild/bin/dotnet/src/webdriver/cdp/v130/Target/TargetInfo.cs(22,149): warning CS1570: XML comment has badly formed XML -- 'Reference to undefined entity 'q'.'3092: (15:01:43) �[32m[14,441 / 15,350]�[0m 1214 / 2120 tests, �[31m�[1m1 failed�[0m;�[0m Testing //py:common-firefox-test/selenium/webdriver/common/driver_element_finding_tests.py; 240s remote, remote-cache ... (49 actions, 48 running)3093: (15:01:44) �[32mINFO: �[0mFrom Compiling webdriver-net8.0:3094: bazel-out/k8-fastbuild/bin/dotnet/src/webdriver/cdp/v128/Target/TargetInfo.cs(22,149): warning CS1570: XML comment has badly formed XML -- 'Reference to undefined entity 'q'.'3095: bazel-out/k8-fastbuild/bin/dotnet/src/webdriver/cdp/v129/Target/TargetInfo.cs(22,149): warning CS1570: XML comment has badly formed XML -- 'Reference to undefined entity 'q'.'3096: bazel-out/k8-fastbuild/bin/dotnet/src/webdriver/cdp/v130/Target/TargetInfo.cs(22,149): warning CS1570: XML comment has badly formed XML -- 'Reference to undefined entity 'q'.'3097: dotnet/src/webdriver/Internal/FileUtilities.cs(191,35): warning SYSLIB0012: 'Assembly.CodeBase' is obsolete: 'Assembly.CodeBase and Assembly.EscapedCodeBase are only included for .NET Framework compatibility. Use Assembly.Location.' (https://aka.ms/dotnet-warnings/SYSLIB0012)3098: (15:01:48) �[32m[14,802 / 15,458]�[0m 1351 / 2120 tests, �[31m�[1m1 failed�[0m;�[0m Testing //py:common-firefox-test/selenium/webdriver/common/driver_element_finding_tests.py; 245s remote, remote-cache ... (49 actions, 38 running)3099: (15:01:53) �[32m[15,287 / 15,641]�[0m 1557 / 2120 tests, �[31m�[1m1 failed�[0m;�[0m Testing //py:common-firefox-test/selenium/webdriver/common/driver_element_finding_tests.py; 250s remote, remote-cache ... (50 actions, 45 running)3100: (15:01:59) �[32m[15,298 / 15,857]�[0m 1561 / 2120 tests, �[31m�[1m1 failed�[0m;�[0m Testing //py:common-firefox-test/selenium/webdriver/common...
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
User description
Thanks for contributing to Selenium!
A PR well described will help maintainers to quickly review and merge it
Before submitting your PR, please check our contributing guidelines.
Avoid large PRs, help reviewers by making them as simple and short as possible.
Description
_ca_certs
and_timeout
were moved toClientConfig
. However, looks like those are being used in AppiumConnection.Before
AppiumConnection
is implemented on top of4.26.0
, adding back those 2 attrs inRemoteConnection
Motivation and Context
Types of changes
Checklist
PR Type
Bug fix
Description
_timeout
and_ca_certs
attributes toRemoteConnection
to maintain backward compatibility with AppiumConnection._timeout
is set using theGLOBAL_DEFAULT_TIMEOUT
environment variable or the default socket timeout._ca_certs
is determined by theREQUESTS_CA_BUNDLE
environment variable or defaults tocertifi.where()
.__init__
method to ensure these attributes are set fromClientConfig
.Changes walkthrough 📝
remote_connection.py
Add backward compatibility attributes to RemoteConnection
py/selenium/webdriver/remote/remote_connection.py
_timeout
and_ca_certs
attributes toRemoteConnection
forbackward compatibility.
_timeout
and_ca_certs
using environment variables or defaultvalues.
__init__
method to assigntimeout
andca_certs
fromClientConfig
.