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

[java] remove unused code from ErrorHandler #14195

Open
wants to merge 1 commit into
base: trunk
Choose a base branch
from
Open

Conversation

joerg1985
Copy link
Member

@joerg1985 joerg1985 commented Jun 26, 2024

User description

Description

Therefore this PR does:

  • remove all the (im my mind) unused code from the ErrorHandler and the related unit tests
  • update the unit tests to not use the ErrorHandler to decode an error

Let's see what the tests in the CI look like with this change :D
(And we should propably ask some of the Appium people too.)

Motivation and Context

@diemol From the current structure of the code i would assume:
The ...ResponseCodec should be able to decode a HttpResponse into a Response with the knowledge of the protocol.
The ErrorHandler should only work with this Response regardless of the used protocol and not try to guess what the HttpResponse could be.

In the time before the W3C protocol the ErrorHandler was propably responsible for decoding, but this code should be unused now.

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)

Checklist

  • I have read the contributing document.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

PR Type

Enhancement, Tests


Description

  • Simplified the ErrorHandler class by removing unused code, constructors, and methods.
  • Updated the W3CHttpResponseCodec to handle gateway errors by setting WebDriverException.
  • Removed and simplified tests in ErrorHandlerTest to align with the new ErrorHandler implementation.
  • Updated various test files to match the new error messages and handling in ErrorHandler.

Changes walkthrough 📝

Relevant files
Enhancement
ErrorHandler.java
Simplified ErrorHandler class by removing unused code.     

java/src/org/openqa/selenium/remote/ErrorHandler.java

  • Removed unused imports and variables.
  • Simplified the ErrorHandler class by removing redundant methods and
    constructors.
  • Updated exception handling to throw WebDriverException directly.
  • +4/-303 
    W3CHttpResponseCodec.java
    Updated W3CHttpResponseCodec error handling.                         

    java/src/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodec.java

  • Removed handling for HTTP_BAD_METHOD.
  • Updated error handling to set WebDriverException for gateway errors.
  • +3/-7     
    Tests
    ErrorHandlerTest.java
    Simplified ErrorHandler tests.                                                     

    java/test/org/openqa/selenium/remote/ErrorHandlerTest.java

  • Removed tests related to the removed methods in ErrorHandler.
  • Simplified existing tests to match the updated ErrorHandler
    implementation.
  • +11/-409
    RemotableByTest.java
    Updated RemotableByTest for new ErrorHandler implementation.

    java/test/org/openqa/selenium/remote/RemotableByTest.java

  • Updated error response creation to match new ErrorHandler
    implementation.
  • +5/-3     
    RemoteWebDriverUnitTest.java
    Updated RemoteWebDriverUnitTest for new ErrorHandler messages.

    java/test/org/openqa/selenium/remote/RemoteWebDriverUnitTest.java

  • Updated test assertions to match new error messages from ErrorHandler.

  • +1/-1     
    RemoteWebElementTest.java
    Updated RemoteWebElementTest for new ErrorHandler messages.

    java/test/org/openqa/selenium/remote/RemoteWebElementTest.java

  • Updated test assertions to match new error messages from ErrorHandler.

  • +1/-1     
    W3CHttpResponseCodecTest.java
    Updated W3CHttpResponseCodecTest for new error handling. 

    java/test/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodecTest.java

  • Updated test assertions to check for WebDriverException instances.
  • +2/-2     

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

    Copy link

    PR Reviewer Guide 🔍

    ⏱️ Estimated effort to review [1-5] 4
    🧪 Relevant tests No
    🔒 Security concerns No
    ⚡ Key issues to review Simplification Impact:
    The PR significantly simplifies the ErrorHandler by removing a large amount of code. While this is intended to remove unused code, it's crucial to ensure that these sections are indeed not used in any scenarios, including edge cases not covered by tests.
    Exception Handling:
    The new implementation throws a generic WebDriverException for any non-success response, which might obscure the underlying reasons for errors that were previously handled more descriptively.
    Loss of Functionality:
    The removal of detailed error handling and mapping specific exceptions to error codes could potentially lead to a loss of functionality where specific error types are expected by client code.

    Copy link

    PR Code Suggestions ✨

    CategorySuggestion                                                                                                                                    Score
    Enhancement
    Handle different HTTP errors explicitly for better error differentiation

    Consider handling other HTTP error statuses explicitly to provide more specific error
    messages or recovery options.

    java/src/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodec.java [90-95]

    -if (HTTP_GATEWAY_TIMEOUT == encodedResponse.getStatus()
    -    || HTTP_BAD_GATEWAY == encodedResponse.getStatus()) {
    -  response.setState("unknown error");
    -  response.setStatus(ErrorCodes.UNHANDLED_ERROR);
    -  response.setValue(new WebDriverException("http gateway error: " + encodedResponse.getStatus()));
    +switch (encodedResponse.getStatus()) {
    +  case HTTP_GATEWAY_TIMEOUT:
    +    response.setState("gateway timeout");
    +    response.setStatus(ErrorCodes.TIMEOUT);
    +    response.setValue(new WebDriverException("Gateway timeout error."));
    +    break;
    +  case HTTP_BAD_GATEWAY:
    +    response.setState("bad gateway");
    +    response.setStatus(ErrorCodes.SERVER_ERROR);
    +    response.setValue(new WebDriverException("Bad gateway error."));
    +    break;
    +  default:
    +    response.setState("unknown error");
    +    response.setStatus(ErrorCodes.UNHANDLED_ERROR);
    +    response.setValue(new WebDriverException("Unhandled HTTP error: " + encodedResponse.getStatus()));
    +    break;
     }
     
    • Apply this suggestion
    Suggestion importance[1-10]: 9

    Why: Explicitly handling different HTTP error statuses provides more specific error messages and can offer better recovery options. This enhances the robustness and clarity of error handling.

    9
    Add a check for the response state before throwing the exception

    Consider verifying the state of the Response object in
    testShouldThrowAVanillaWebDriverExceptionIfServerDoesNotProvideAValue to ensure it matches
    expected error conditions before asserting the type and message of the exception.

    java/test/org/openqa/selenium/remote/ErrorHandlerTest.java [73-76]

    +assertThat(response.getState()).isEqualTo("unknown error");
     assertThatExceptionOfType(WebDriverException.class)
         .isThrownBy(() -> handler.throwIfResponseFailed(response, 123))
         .withNoCause()
         .withMessageContaining(new WebDriverException().getMessage());
     
    • Apply this suggestion
    Suggestion importance[1-10]: 8

    Why: Adding a check for the response state before asserting the exception type and message ensures that the test is verifying the correct conditions, improving test accuracy and robustness.

    8
    Enhance exception handling by providing more detailed error messages

    Replace the generic WebDriverException with a more specific exception type or add
    additional context to the exception message to help with debugging.

    java/src/org/openqa/selenium/remote/ErrorHandler.java [41]

    -throw new WebDriverException(throwable);
    +throw new WebDriverException("Specific error occurred: " + throwable.getMessage(), throwable);
     
    • Apply this suggestion
    Suggestion importance[1-10]: 8

    Why: Providing more context in exception messages can significantly aid in debugging and understanding the root cause of errors. This suggestion improves the clarity of the exception message.

    8
    Use a specific error message for exceptions to aid in debugging

    In testShouldThrowAVanillaWebDriverExceptionIfServerDoesNotProvideAValue, ensure that the
    message from new WebDriverException().getMessage() is meaningful and not generic, as it
    might not provide useful debugging information.

    java/test/org/openqa/selenium/remote/ErrorHandlerTest.java [73-76]

    +String expectedMessage = "Specific error message related to the context";
     assertThatExceptionOfType(WebDriverException.class)
         .isThrownBy(() -> handler.throwIfResponseFailed(response, 123))
         .withNoCause()
    -    .withMessageContaining(new WebDriverException().getMessage());
    +    .withMessageContaining(expectedMessage);
     
    • Apply this suggestion
    Suggestion importance[1-10]: 6

    Why: Using a specific error message can aid in debugging by providing more context. However, the suggestion assumes that a meaningful message can be determined, which may not always be straightforward.

    6
    Reintroduce error code mappings for more precise error handling

    Consider reintroducing the ErrorCodes object to map specific exceptions to error codes,
    enhancing the granularity of error handling.

    java/src/org/openqa/selenium/remote/ErrorHandler.java [25]

    -public ErrorHandler() {}
    +private final ErrorCodes errorCodes;
     
    +public ErrorHandler() {
    +  this.errorCodes = new ErrorCodes();
    +}
    +
    • Apply this suggestion
    Suggestion importance[1-10]: 6

    Why: Reintroducing the ErrorCodes object can enhance the granularity of error handling, but it may also reintroduce complexity that was intentionally removed. The benefit depends on the specific use case.

    6
    Possible issue
    Validate the 'state' parameter to prevent invalid 'Response' objects

    For the method createResponse(String state, Object value), consider checking if state is
    null or empty and throw an IllegalArgumentException to prevent creating invalid Response
    objects.

    java/test/org/openqa/selenium/remote/ErrorHandlerTest.java [84-87]

    +if (state == null || state.isEmpty()) {
    +    throw new IllegalArgumentException("State cannot be null or empty");
    +}
     Response response = new Response();
     response.setState(state);
     response.setValue(value);
     return response;
     
    • Apply this suggestion
    Suggestion importance[1-10]: 9

    Why: Adding validation for the 'state' parameter prevents the creation of invalid 'Response' objects, which can help catch errors early and improve code reliability.

    9
    Best practice
    Use a more specific exception type for detailed error handling

    In testShouldThrowIfResponseWasNotSuccess, use a more specific exception type than
    WebDriverException if applicable, to provide more detailed error handling.

    java/test/org/openqa/selenium/remote/ErrorHandlerTest.java [65-67]

    -assertThatExceptionOfType(WebDriverException.class)
    +assertThatExceptionOfType(SpecificException.class) // Replace SpecificException with the actual exception class
         .isThrownBy(() -> handler.throwIfResponseFailed(response, 123))
         .withNoCause();
     
    • Apply this suggestion
    Suggestion importance[1-10]: 7

    Why: Using a more specific exception type can provide more detailed error handling and better insight into the nature of the failure. However, it requires knowledge of the specific exceptions that might be thrown.

    7
    Add logging for better error traceability

    Add logging before throwing exceptions to help trace the error causes more effectively.

    java/src/org/openqa/selenium/remote/ErrorHandler.java [44]

    +LOG.error("Response failed with unknown status: " + response.getState());
     throw new WebDriverException("response failed with unknown status: " + response.getState());
     
    • Apply this suggestion
    Suggestion importance[1-10]: 7

    Why: Adding logging before throwing exceptions can help trace the error causes more effectively, which is a good practice for debugging and monitoring.

    7

    Copy link

    codiumai-pr-agent-pro bot commented Jun 26, 2024

    CI Failure Feedback 🧐

    (Checks updated until commit 6255037)

    Action: JavaScript / Browser Tests (firefox) / Browser Tests (firefox)

    Failed stage: Run Bazel [❌]

    Failed test name: test-firefox-options-test.js-firefox

    Failure summary:

    The action failed because the test test-firefox-options-test.js-firefox failed. The test failed due
    to multiple TimeoutError exceptions, indicating that the test was unable to locate the element with
    the CSS selector *[id="webextensions-selenium-example"] within the specified timeout period.

    Relevant error logs:
    1:  ##[group]Operating System
    2:  Ubuntu
    ...
    
    972:  Package 'php-symfony-debug-bundle' is not installed, so not removed
    973:  Package 'php-symfony-dependency-injection' is not installed, so not removed
    974:  Package 'php-symfony-deprecation-contracts' is not installed, so not removed
    975:  Package 'php-symfony-discord-notifier' is not installed, so not removed
    976:  Package 'php-symfony-doctrine-bridge' is not installed, so not removed
    977:  Package 'php-symfony-doctrine-messenger' is not installed, so not removed
    978:  Package 'php-symfony-dom-crawler' is not installed, so not removed
    979:  Package 'php-symfony-dotenv' is not installed, so not removed
    980:  Package 'php-symfony-error-handler' is not installed, so not removed
    ...
    
    1898:  Setting up fonts-terminus-otb (4.48-3.1) ...
    1899:  Processing triggers for install-info (6.8-4build1) ...
    1900:  Processing triggers for mailcap (3.70+nmu1ubuntu1) ...
    1901:  Processing triggers for fontconfig (2.13.1-4.2ubuntu5) ...
    1902:  Processing triggers for hicolor-icon-theme (0.17-2) ...
    1903:  Processing triggers for libc-bin (2.35-0ubuntu3.8) ...
    1904:  Processing triggers for man-db (2.10.2-1) ...
    1905:  Processing triggers for menu (2.1.47ubuntu4) ...
    1906:  /usr/share/menu/psmisc: 1: Syntax error: word unexpected (expecting ")")
    1907:  /usr/share/menu/microsoft-edge.menu: 1: Syntax error: word unexpected (expecting ")")
    1908:  /usr/share/menu/tcl8.6: 1: Syntax error: word unexpected (expecting ")")
    1909:  /usr/share/menu/dash: 1: Syntax error: word unexpected (expecting ")")
    1910:  /usr/share/menu/tk8.6: 1: Syntax error: word unexpected (expecting ")")
    1911:  /usr/share/menu/bc: 1: Syntax error: word unexpected (expecting ")")
    1912:  /usr/share/menu/monodoc-http: 1: Syntax error: word unexpected (expecting ")")
    1913:  /usr/share/menu/google-chrome.menu: 1: Syntax error: word unexpected (expecting ")")
    1914:  /usr/share/menu/bash: 1: Syntax error: word unexpected (expecting ")")
    1915:  /usr/share/menu/telnet: 1: Syntax error: word unexpected (expecting ")")
    1916:  /usr/share/menu/procps: 1: Syntax error: word unexpected (expecting ")")
    1917:  NEEDRESTART-VER: 3.5
    1918:  NEEDRESTART-KCUR: 6.5.0-1022-azure
    1919:  NEEDRESTART-KEXP: 6.5.0-1022-azure
    1920:  NEEDRESTART-KSTA: 1
    1921:  Warning: Failed to open file(/usr/share/fluxbox/nls/C.UTF-8/fluxbox.cat)
    1922:  for translation, using default messages.
    1923:  Failed to read: session.ignoreBorder
    1924:  Setting default value
    1925:  Failed to read: session.forcePseudoTransparency
    1926:  Setting default value
    1927:  Failed to read: session.colorsPerChannel
    1928:  Setting default value
    1929:  Failed to read: session.doubleClickInterval
    1930:  Setting default value
    1931:  Failed to read: session.tabPadding
    1932:  Setting default value
    1933:  Failed to read: session.styleOverlay
    1934:  Setting default value
    1935:  Failed to read: session.slitlistFile
    1936:  Setting default value
    1937:  Failed to read: session.appsFile
    1938:  Setting default value
    1939:  Failed to read: session.tabsAttachArea
    1940:  Setting default value
    1941:  Failed to read: session.cacheLife
    1942:  Setting default value
    1943:  Failed to read: session.cacheMax
    1944:  Setting default value
    1945:  Failed to read: session.autoRaiseDelay
    1946:  Setting default value
    1947:  Failed to read: session.ignoreBorder
    1948:  Setting default value
    1949:  Failed to read: session.forcePseudoTransparency
    1950:  Setting default value
    1951:  Failed to read: session.colorsPerChannel
    1952:  Setting default value
    1953:  Failed to read: session.doubleClickInterval
    1954:  Setting default value
    1955:  Failed to read: session.tabPadding
    1956:  Setting default value
    1957:  Failed to read: session.styleOverlay
    1958:  Setting default value
    1959:  Failed to read: session.slitlistFile
    1960:  Setting default value
    1961:  Failed to read: session.appsFile
    1962:  Setting default value
    1963:  Failed to read: session.tabsAttachArea
    1964:  Setting default value
    1965:  Failed to read: session.cacheLife
    1966:  Setting default value
    1967:  Failed to read: session.cacheMax
    1968:  Setting default value
    1969:  Failed to read: session.autoRaiseDelay
    1970:  Setting default value
    1971:  Failed to read: session.screen0.opaqueMove
    1972:  Setting default value
    1973:  Failed to read: session.screen0.fullMaximization
    1974:  Setting default value
    1975:  Failed to read: session.screen0.maxIgnoreIncrement
    1976:  Setting default value
    1977:  Failed to read: session.screen0.maxDisableMove
    1978:  Setting default value
    1979:  Failed to read: session.screen0.maxDisableResize
    1980:  Setting default value
    1981:  Failed to read: session.screen0.workspacewarping
    1982:  Setting default value
    1983:  Failed to read: session.screen0.showwindowposition
    1984:  Setting default value
    1985:  Failed to read: session.screen0.autoRaise
    1986:  Setting default value
    1987:  Failed to read: session.screen0.clickRaises
    1988:  Setting default value
    1989:  Failed to read: session.screen0.defaultDeco
    1990:  Setting default value
    1991:  Failed to read: session.screen0.tab.placement
    1992:  Setting default value
    1993:  Failed to read: session.screen0.windowMenu
    1994:  Setting default value
    1995:  Failed to read: session.screen0.noFocusWhileTypingDelay
    1996:  Setting default value
    1997:  Failed to read: session.screen0.workspaces
    1998:  Setting default value
    1999:  Failed to read: session.screen0.edgeSnapThreshold
    2000:  Setting default value
    2001:  Failed to read: session.screen0.window.focus.alpha
    2002:  Setting default value
    2003:  Failed to read: session.screen0.window.unfocus.alpha
    2004:  Setting default value
    2005:  Failed to read: session.screen0.menu.alpha
    2006:  Setting default value
    2007:  Failed to read: session.screen0.menuDelay
    2008:  Setting default value
    2009:  Failed to read: session.screen0.tab.width
    2010:  Setting default value
    2011:  Failed to read: session.screen0.tooltipDelay
    2012:  Setting default value
    2013:  Failed to read: session.screen0.allowRemoteActions
    2014:  Setting default value
    2015:  Failed to read: session.screen0.clientMenu.usePixmap
    2016:  Setting default value
    2017:  Failed to read: session.screen0.tabs.usePixmap
    2018:  Setting default value
    2019:  Failed to read: session.screen0.tabs.maxOver
    2020:  Setting default value
    2021:  Failed to read: session.screen0.tabs.intitlebar
    2022:  Setting default value
    2023:  Failed to read: session.screen0.focusModel
    2024:  Setting default value
    2025:  Failed to read: session.screen0.tabFocusModel
    2026:  Setting default value
    2027:  Failed to read: session.screen0.focusNewWindows
    2028:  Setting default value
    2029:  Failed to read: session.screen0.focusSameHead
    2030:  Setting default value
    2031:  Failed to read: session.screen0.rowPlacementDirection
    2032:  Setting default value
    2033:  Failed to read: session.screen0.colPlacementDirection
    2034:  Setting default value
    2035:  Failed to read: session.screen0.windowPlacement
    2036:  Setting default value
    2037:  Failed to read: session.ignoreBorder
    2038:  Setting default value
    2039:  Failed to read: session.forcePseudoTransparency
    2040:  Setting default value
    2041:  Failed to read: session.colorsPerChannel
    2042:  Setting default value
    2043:  Failed to read: session.doubleClickInterval
    2044:  Setting default value
    2045:  Failed to read: session.tabPadding
    2046:  Setting default value
    2047:  Failed to read: session.styleOverlay
    2048:  Setting default value
    2049:  Failed to read: session.slitlistFile
    2050:  Setting default value
    2051:  Failed to read: session.appsFile
    2052:  Setting default value
    2053:  Failed to read: session.tabsAttachArea
    2054:  Setting default value
    2055:  Failed to read: session.cacheLife
    2056:  Setting default value
    2057:  Failed to read: session.cacheMax
    2058:  Setting default value
    2059:  Failed to read: session.autoRaiseDelay
    2060:  Setting default value
    2061:  Failed to read: session.screen0.opaqueMove
    2062:  Setting default value
    2063:  Failed to read: session.screen0.fullMaximization
    2064:  Setting default value
    2065:  Failed to read: session.screen0.maxIgnoreIncrement
    2066:  Setting default value
    2067:  Failed to read: session.screen0.maxDisableMove
    2068:  Setting default value
    2069:  Failed to read: session.screen0.maxDisableResize
    2070:  Setting default value
    2071:  Failed to read: session.screen0.workspacewarping
    2072:  Setting default value
    2073:  Failed to read: session.screen0.showwindowposition
    2074:  Setting default value
    2075:  Failed to read: session.screen0.autoRaise
    2076:  Setting default value
    2077:  Failed to read: session.screen0.clickRaises
    2078:  Setting default value
    2079:  Failed to read: session.screen0.defaultDeco
    2080:  Setting default value
    2081:  Failed to read: session.screen0.tab.placement
    2082:  Setting default value
    2083:  Failed to read: session.screen0.windowMenu
    2084:  Setting default value
    2085:  Failed to read: session.screen0.noFocusWhileTypingDelay
    2086:  Setting default value
    2087:  Failed to read: session.screen0.workspaces
    2088:  Setting default value
    2089:  Failed to read: session.screen0.edgeSnapThreshold
    2090:  Setting default value
    2091:  Failed to read: session.screen0.window.focus.alpha
    2092:  Setting default value
    2093:  Failed to read: session.screen0.window.unfocus.alpha
    2094:  Setting default value
    2095:  Failed to read: session.screen0.menu.alpha
    2096:  Setting default value
    2097:  Failed to read: session.screen0.menuDelay
    2098:  Setting default value
    2099:  Failed to read: session.screen0.tab.width
    2100:  Setting default value
    2101:  Failed to read: session.screen0.tooltipDelay
    2102:  Setting default value
    2103:  Failed to read: session.screen0.allowRemoteActions
    2104:  Setting default value
    2105:  Failed to read: session.screen0.clientMenu.usePixmap
    2106:  Setting default value
    2107:  Failed to read: session.screen0.tabs.usePixmap
    2108:  Setting default value
    2109:  Failed to read: session.screen0.tabs.maxOver
    2110:  Setting default value
    2111:  Failed to read: session.screen0.tabs.intitlebar
    2112:  Setting default value
    2113:  Failed to read: session.screen0.focusModel
    2114:  Setting default value
    2115:  Failed to read: session.screen0.tabFocusModel
    2116:  Setting default value
    2117:  Failed to read: session.screen0.focusNewWindows
    2118:  Setting default value
    2119:  Failed to read: session.screen0.focusSameHead
    2120:  Setting default value
    2121:  Failed to read: session.screen0.rowPlacementDirection
    2122:  Setting default value
    2123:  Failed to read: session.screen0.colPlacementDirection
    2124:  Setting default value
    2125:  Failed to read: session.screen0.windowPlacement
    2126:  Setting default value
    2127:  Failed to read: session.screen0.slit.acceptKdeDockapps
    2128:  Setting default value
    2129:  Failed to read: session.screen0.slit.autoHide
    2130:  Setting default value
    2131:  Failed to read: session.screen0.slit.maxOver
    2132:  Setting default value
    2133:  Failed to read: session.screen0.slit.placement
    2134:  Setting default value
    2135:  Failed to read: session.screen0.slit.alpha
    2136:  Setting default value
    2137:  Failed to read: session.screen0.slit.onhead
    2138:  Setting default value
    2139:  Failed to read: session.screen0.slit.layer
    2140:  Setting default value
    2141:  Failed to read: session.screen0.toolbar.autoHide
    2142:  Setting default value
    2143:  Failed to read: session.screen0.toolbar.maxOver
    2144:  Setting default value
    2145:  Failed to read: session.screen0.toolbar.visible
    2146:  Setting default value
    2147:  Failed to read: session.screen0.toolbar.alpha
    2148:  Setting default value
    2149:  Failed to read: session.screen0.toolbar.layer
    2150:  Setting default value
    2151:  Failed to read: session.screen0.toolbar.onhead
    2152:  Setting default value
    2153:  Failed to read: session.screen0.toolbar.placement
    2154:  Setting default value
    2155:  Failed to read: session.screen0.toolbar.height
    2156:  Setting default value
    2157:  Failed to read: session.screen0.iconbar.mode
    2158:  Setting default value
    2159:  Failed to read: session.screen0.iconbar.alignment
    2160:  Setting default value
    2161:  Failed to read: session.screen0.iconbar.iconWidth
    2162:  Setting default value
    2163:  Failed to read: session.screen0.iconbar.iconTextPadding
    2164:  Setting default value
    2165:  Failed to read: session.screen0.iconbar.usePixmap
    ...
    
    2312:  �[32m[3,902 / 3,932]�[0m 26 / 56 tests;�[0m Testing //javascript/node/selenium-webdriver:test-firefox-options-test.js-firefox; 282s disk-cache, local ... (4 actions, 3 running)
    2313:  �[32m[3,903 / 3,932]�[0m 27 / 56 tests;�[0m Testing //javascript/node/selenium-webdriver:test-firefox-options-test.js-firefox; 284s disk-cache, local ... (4 actions, 2 running)
    2314:  �[32m[3,903 / 3,932]�[0m 27 / 56 tests;�[0m Testing //javascript/node/selenium-webdriver:test-firefox-options-test.js-firefox; 289s disk-cache, local ... (4 actions, 2 running)
    2315:  �[32m[3,904 / 3,932]�[0m 28 / 56 tests;�[0m Testing //javascript/node/selenium-webdriver:test-firefox-options-test.js-firefox; 291s disk-cache, local ... (4 actions, 1 running)
    2316:  �[32m[3,904 / 3,932]�[0m 28 / 56 tests;�[0m Testing //javascript/node/selenium-webdriver:test-firefox-options-test.js-firefox; 301s disk-cache, local ... (4 actions, 1 running)
    2317:  �[32m[3,904 / 3,932]�[0m 28 / 56 tests;�[0m Testing //javascript/node/selenium-webdriver:test-firefox-options-test.js-firefox; 331s disk-cache, local ... (4 actions, 1 running)
    2318:  �[32m[3,904 / 3,932]�[0m 28 / 56 tests;�[0m Testing //javascript/node/selenium-webdriver:test-firefox-options-test.js-firefox; 385s disk-cache, local ... (4 actions, 2 running)
    2319:  �[31m�[1mFAIL: �[0m//javascript/node/selenium-webdriver:test-firefox-options-test.js-firefox (see /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/javascript/node/selenium-webdriver/test-firefox-options-test.js-firefox/test.log)
    2320:  �[31m�[1mFAILED: �[0m//javascript/node/selenium-webdriver:test-firefox-options-test.js-firefox (Summary)
    ...
    
    2338:  ✔ can start Firefox with custom preferences (1837ms)
    2339:  2) can add extra prefs on top of an existing profile
    2340:  addExtensions
    2341:  3) can add extension to brand new profile
    2342:  4) can add extension to custom profile
    2343:  5) can addExtensions and setPreference
    2344:  6) can load .zip webextensions
    2345:  5 passing (2m)
    2346:  6 failing
    2347:  1) [firefox]
    2348:  firefox
    2349:  Options
    2350:  setProfile
    2351:  use profile with extension:
    2352:  TimeoutError: Waiting for element to be located By(css selector, *[id="webextensions-selenium-example"])
    2353:  Wait timed out after 5085ms
    2354:  at /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/bin/javascript/node/selenium-webdriver/lib/webdriver.js:913:22
    2355:  at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    2356:  2) [firefox]
    2357:  firefox
    2358:  Options
    2359:  setPreference
    2360:  can add extra prefs on top of an existing profile:
    2361:  TimeoutError: Waiting for element to be located By(css selector, *[id="webextensions-selenium-example"])
    2362:  Wait timed out after 5094ms
    2363:  at /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/bin/javascript/node/selenium-webdriver/lib/webdriver.js:913:22
    2364:  at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    2365:  3) [firefox]
    2366:  firefox
    2367:  Options
    2368:  addExtensions
    2369:  can add extension to brand new profile:
    2370:  TimeoutError: Waiting for element to be located By(css selector, *[id="webextensions-selenium-example"])
    2371:  Wait timed out after 5106ms
    2372:  at /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/bin/javascript/node/selenium-webdriver/lib/webdriver.js:913:22
    2373:  at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    2374:  4) [firefox]
    2375:  firefox
    2376:  Options
    2377:  addExtensions
    2378:  can add extension to custom profile:
    2379:  TimeoutError: Waiting for element to be located By(css selector, *[id="webextensions-selenium-example"])
    2380:  Wait timed out after 5088ms
    2381:  at /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/bin/javascript/node/selenium-webdriver/lib/webdriver.js:913:22
    2382:  at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    2383:  5) [firefox]
    2384:  firefox
    2385:  Options
    2386:  addExtensions
    2387:  can addExtensions and setPreference:
    2388:  TimeoutError: Waiting for element to be located By(css selector, *[id="webextensions-selenium-example"])
    2389:  Wait timed out after 5092ms
    2390:  at /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/bin/javascript/node/selenium-webdriver/lib/webdriver.js:913:22
    2391:  at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    2392:  6) [firefox]
    2393:  firefox
    2394:  Options
    2395:  addExtensions
    2396:  can load .zip webextensions:
    2397:  TimeoutError: Waiting for element to be located By(css selector, *[id="webextensions-selenium-example"])
    ...
    
    2415:  ✔ can start Firefox with custom preferences (1835ms)
    2416:  2) can add extra prefs on top of an existing profile
    2417:  addExtensions
    2418:  3) can add extension to brand new profile
    2419:  4) can add extension to custom profile
    2420:  5) can addExtensions and setPreference
    2421:  6) can load .zip webextensions
    2422:  5 passing (2m)
    2423:  6 failing
    2424:  1) [firefox]
    2425:  firefox
    2426:  Options
    2427:  setProfile
    2428:  use profile with extension:
    2429:  TimeoutError: Waiting for element to be located By(css selector, *[id="webextensions-selenium-example"])
    2430:  Wait timed out after 5090ms
    2431:  at /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/bin/javascript/node/selenium-webdriver/lib/webdriver.js:913:22
    2432:  at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    2433:  2) [firefox]
    2434:  firefox
    2435:  Options
    2436:  setPreference
    2437:  can add extra prefs on top of an existing profile:
    2438:  TimeoutError: Waiting for element to be located By(css selector, *[id="webextensions-selenium-example"])
    2439:  Wait timed out after 5090ms
    2440:  at /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/bin/javascript/node/selenium-webdriver/lib/webdriver.js:913:22
    2441:  at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    2442:  3) [firefox]
    2443:  firefox
    2444:  Options
    2445:  addExtensions
    2446:  can add extension to brand new profile:
    2447:  TimeoutError: Waiting for element to be located By(css selector, *[id="webextensions-selenium-example"])
    2448:  Wait timed out after 5087ms
    2449:  at /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/bin/javascript/node/selenium-webdriver/lib/webdriver.js:913:22
    2450:  at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    2451:  4) [firefox]
    2452:  firefox
    2453:  Options
    2454:  addExtensions
    2455:  can add extension to custom profile:
    2456:  TimeoutError: Waiting for element to be located By(css selector, *[id="webextensions-selenium-example"])
    2457:  Wait timed out after 5091ms
    2458:  at /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/bin/javascript/node/selenium-webdriver/lib/webdriver.js:913:22
    2459:  at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    2460:  5) [firefox]
    2461:  firefox
    2462:  Options
    2463:  addExtensions
    2464:  can addExtensions and setPreference:
    2465:  TimeoutError: Waiting for element to be located By(css selector, *[id="webextensions-selenium-example"])
    2466:  Wait timed out after 5094ms
    2467:  at /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/bin/javascript/node/selenium-webdriver/lib/webdriver.js:913:22
    2468:  at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    2469:  6) [firefox]
    2470:  firefox
    2471:  Options
    2472:  addExtensions
    2473:  can load .zip webextensions:
    2474:  TimeoutError: Waiting for element to be located By(css selector, *[id="webextensions-selenium-example"])
    ...
    
    2492:  ✔ can start Firefox with custom preferences (1808ms)
    2493:  2) can add extra prefs on top of an existing profile
    2494:  addExtensions
    2495:  3) can add extension to brand new profile
    2496:  4) can add extension to custom profile
    2497:  5) can addExtensions and setPreference
    2498:  6) can load .zip webextensions
    2499:  5 passing (2m)
    2500:  6 failing
    2501:  1) [firefox]
    2502:  firefox
    2503:  Options
    2504:  setProfile
    2505:  use profile with extension:
    2506:  TimeoutError: Waiting for element to be located By(css selector, *[id="webextensions-selenium-example"])
    2507:  Wait timed out after 5090ms
    2508:  at /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/bin/javascript/node/selenium-webdriver/lib/webdriver.js:913:22
    2509:  at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    2510:  2) [firefox]
    2511:  firefox
    2512:  Options
    2513:  setPreference
    2514:  can add extra prefs on top of an existing profile:
    2515:  TimeoutError: Waiting for element to be located By(css selector, *[id="webextensions-selenium-example"])
    2516:  Wait timed out after 5103ms
    2517:  at /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/bin/javascript/node/selenium-webdriver/lib/webdriver.js:913:22
    2518:  at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    2519:  3) [firefox]
    2520:  firefox
    2521:  Options
    2522:  addExtensions
    2523:  can add extension to brand new profile:
    2524:  TimeoutError: Waiting for element to be located By(css selector, *[id="webextensions-selenium-example"])
    2525:  Wait timed out after 5107ms
    2526:  at /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/bin/javascript/node/selenium-webdriver/lib/webdriver.js:913:22
    2527:  at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    2528:  4) [firefox]
    2529:  firefox
    2530:  Options
    2531:  addExtensions
    2532:  can add extension to custom profile:
    2533:  TimeoutError: Waiting for element to be located By(css selector, *[id="webextensions-selenium-example"])
    2534:  Wait timed out after 5085ms
    2535:  at /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/bin/javascript/node/selenium-webdriver/lib/webdriver.js:913:22
    2536:  at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    2537:  5) [firefox]
    2538:  firefox
    2539:  Options
    2540:  addExtensions
    2541:  can addExtensions and setPreference:
    2542:  TimeoutError: Waiting for element to be located By(css selector, *[id="webextensions-selenium-example"])
    2543:  Wait timed out after 5081ms
    2544:  at /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/bin/javascript/node/selenium-webdriver/lib/webdriver.js:913:22
    2545:  at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    2546:  6) [firefox]
    2547:  firefox
    2548:  Options
    2549:  addExtensions
    2550:  can load .zip webextensions:
    2551:  TimeoutError: Waiting for element to be located By(css selector, *[id="webextensions-selenium-example"])
    2552:  Wait timed out after 5091ms
    2553:  at /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/bin/javascript/node/selenium-webdriver/lib/webdriver.js:913:22
    2554:  at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    2555:  ================================================================================
    2556:  �[32m[3,905 / 3,932]�[0m 29 / 56 tests, �[31m�[1m1 failed�[0m;�[0m [Sched] Testing //javascript/node/selenium-webdriver:test-chrome-options-test.js-firefox; 104s ... (4 actions, 1 running)
    2557:  �[32m[3,905 / 3,932]�[0m 29 / 56 tests, �[31m�[1m1 failed�[0m;�[0m [Sched] Testing //javascript/node/selenium-webdriver:test-chrome-options-test.js-firefox; 114s ... (4 actions, 1 running)
    2558:  �[32m[3,905 / 3,932]�[0m 29 / 56 tests, �[31m�[1m1 failed�[0m;�[0m [Sched] Testing //javascript/node/selenium-webdriver:test-webComponent-test.js-firefox; 118s ... (4 actions, 2 running)
    2559:  �[32m[3,908 / 3,932]�[0m 32 / 56 tests, �[31m�[1m1 failed�[0m;�[0m [Sched] Testing //javascript/node/selenium-webdriver:test-remote-test.js-firefox ... (4 actions, 1 running)
    2560:  �[32m[3,910 / 3,932]�[0m 34 / 56 tests, �[31m�[1m1 failed�[0m;�[0m [Sched] Testing //javascript/node/selenium-webdriver:test-ie-options-test.js-firefox ... (4 actions, 1 running)
    2561:  �[32m[3,910 / 3,932]�[0m 34 / 56 tests, �[31m�[1m1 failed�[0m;�[0m [Sched] Testing //javascript/node/selenium-webdriver:test-ie-options-test.js-firefox; 12s ... (4 actions, 1 running)
    2562:  �[32m[3,910 / 3,932]�[0m 34 / 56 tests, �[31m�[1m1 failed�[0m;�[0m [Sched] Testing //javascript/node/selenium-webdriver:test-ie-options-test.js-firefox; 42s ... (4 actions, 1 running)
    2563:  �[32m[3,910 / 3,932]�[0m 34 / 56 tests, �[31m�[1m1 failed�[0m;�[0m [Sched] Testing //javascript/node/selenium-webdriver:test-safari-test.js-firefox; 77s ... (4 actions, 2 running)
    2564:  �[31m�[1mFAIL: �[0m//javascript/node/selenium-webdriver:test-firefox-addon-test.js-firefox (see /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/javascript/node/selenium-webdriver/test-firefox-addon-test.js-firefox/test_attempts/attempt_1.log)
    2565:  �[32m[3,912 / 3,932]�[0m 36 / 56 tests, �[31m�[1m1 failed�[0m;�[0m Testing //javascript/node/selenium-webdriver:test-firefox-addon-test.js-firefox; 78s disk-cache, local ... (4 actions, 2 running)
    2566:  �[32m[3,912 / 3,932]�[0m 36 / 56 tests, �[31m�[1m1 failed�[0m;�[0m Testing //javascript/node/selenium-webdriver:test-firefox-addon-test.js-firefox; 81s disk-cache, local ... (4 actions, 2 running)
    2567:  �[32m[3,913 / 3,932]�[0m 37 / 56 tests, �[31m�[1m1 failed�[0m;�[0m Testing //javascript/node/selenium-webdriver:test-firefox-addon-test.js-firefox; 82s disk-cache, local ... (4 actions, 1 running)
    2568:  �[32m[3,913 / 3,932]�[0m 37 / 56 tests, �[31m�[1m1 failed�[0m;�[0m Testing //javascript/node/selenium-webdriver:test-firefox-addon-test.js-firefox; 92s disk-cache, local ... (4 actions, 1 running)
    2569:  �[32m[3,913 / 3,932]�[0m 37 / 56 tests, �[31m�[1m1 failed�[0m;�[0m Testing //javascript/node/selenium-webdriver:test-firefox-addon-test.js-firefox; 122s disk-cache, local ... (4 actions, 1 running)
    2570:  �[32m[3,913 / 3,932]�[0m 37 / 56 tests, �[31m�[1m1 failed�[0m;�[0m Testing //javascript/node/selenium-webdriver:test-firefox-addon-test.js-firefox; 158s disk-cache, local ... (4 actions, 2 running)
    2571:  �[31m�[1mFAIL: �[0m//javascript/node/selenium-webdriver:test-firefox-addon-test.js-firefox (see /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/javascript/node/selenium-webdriver/test-firefox-addon-test.js-firefox/test_attempts/attempt_2.log)
    2572:  �[32m[3,913 / 3,932]�[0m 37 / 56 tests, �[31m�[1m1 failed�[0m;�[0m Testing //javascript/node/selenium-webdriver:test-firefox-addon-test.js-firefox; 159s disk-cache, local ... (4 actions, 2 running)
    2573:  �[32m[3,913 / 3,932]�[0m 37 / 56 tests, �[31m�[1m1 failed�[0m;�[0m Testing //javascript/node/selenium-webdriver:test-firefox-addon-test.js-firefox; 161s disk-cache, local ... (4 actions, 3 running)
    2574:  �[32m[3,915 / 3,932]�[0m 39 / 56 tests, �[31m�[1m1 failed�[0m;�[0m Testing //javascript/node/selenium-webdriver:test-firefox-addon-test.js-firefox; 163s disk-cache, local ... (4 actions, 2 running)
    2575:  �[32m[3,915 / 3,932]�[0m 39 / 56 tests, �[31m�[1m1 failed�[0m;�[0m Testing //javascript/node/selenium-webdriver:test-firefox-addon-test.js-firefox; 167s disk-cache, local ... (4 actions, 2 running)
    2576:  �[32m[3,916 / 3,932]�[0m 40 / 56 tests, �[31m�[1m1 failed�[0m;�[0m Testing //javascript/node/selenium-webdriver:test-firefox-addon-test.js-firefox; 169s disk-cache, local ... (4 actions, 1 running)
    2577:  �[32m[3,916 / 3,932]�[0m 40 / 56 tests, �[31m�[1m1 failed�[0m;�[0m Testing //javascript/node/selenium-webdriver:test-firefox-addon-test.js-firefox; 178s disk-cache, local ... (4 actions, 1 running)
    2578:  �[32m[3,916 / 3,932]�[0m 40 / 56 tests, �[31m�[1m1 failed�[0m;�[0m Testing //javascript/node/selenium-webdriver:test-firefox-addon-test.js-firefox; 208s disk-cache, local ... (4 actions, 1 running)
    2579:  �[32m[3,916 / 3,932]�[0m 40 / 56 tests, �[31m�[1m1 failed�[0m;�[0m Testing //javascript/node/selenium-webdriver:test-firefox-addon-test.js-firefox; 244s disk-cache, local ... (4 actions, 2 running)
    2580:  �[31m�[1mFAIL: �[0m//javascript/node/selenium-webdriver:test-firefox-addon-test.js-firefox (see /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/javascript/node/selenium-webdriver/test-firefox-addon-test.js-firefox/test.log)
    2581:  ==================== Test output for //javascript/node/selenium-webdriver:test-firefox-addon-test.js-firefox:
    2582:  [INFO] Running tests against [firefox]
    2583:  [firefox]
    2584:  firefox
    2585:  installAddon
    2586:  �[31m�[1mFAILED: �[0m//javascript/node/selenium-webdriver:test-firefox-addon-test.js-firefox (Summary)
    ...
    
    2589:  /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/javascript/node/selenium-webdriver/test-firefox-addon-test.js-firefox/test_attempts/attempt_1.log
    2590:  /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/javascript/node/selenium-webdriver/test-firefox-addon-test.js-firefox/test_attempts/attempt_2.log
    2591:  �[32mINFO: �[0mFrom Testing //javascript/node/selenium-webdriver:test-firefox-addon-test.js-firefox:
    2592:  2) installs and uninstalls by unsigned zip file
    2593:  3) installs and uninstalls by signed zip file
    2594:  4) installs and uninstalls by unsigned directory
    2595:  5) installs and uninstalls by signed directory
    2596:  0 passing (1m)
    2597:  5 failing
    2598:  1) [firefox]
    2599:  firefox
    2600:  installAddon
    2601:  installs and uninstalls by xpi file:
    2602:  TimeoutError: Waiting for element to be located By(css selector, *[id="webextensions-selenium-example"])
    2603:  Wait timed out after 5085ms
    2604:  at /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/bin/javascript/node/selenium-webdriver/lib/webdriver.js:913:22
    2605:  at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    2606:  2) [firefox]
    2607:  firefox
    2608:  installAddon
    2609:  installs and uninstalls by unsigned zip file:
    2610:  TimeoutError: Waiting for element to be located By(css selector, *[id="webextensions-selenium-example"])
    2611:  Wait timed out after 5067ms
    2612:  at /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/bin/javascript/node/selenium-webdriver/lib/webdriver.js:913:22
    2613:  at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    2614:  3) [firefox]
    2615:  firefox
    2616:  installAddon
    2617:  installs and uninstalls by signed zip file:
    2618:  TimeoutError: Waiting for element to be located By(css selector, *[id="webextensions-selenium-example"])
    2619:  Wait timed out after 5073ms
    2620:  at /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/bin/javascript/node/selenium-webdriver/lib/webdriver.js:913:22
    2621:  at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    2622:  4) [firefox]
    2623:  firefox
    2624:  installAddon
    2625:  installs and uninstalls by unsigned directory:
    2626:  TimeoutError: Waiting for element to be located By(css selector, *[id="webextensions-selenium-example"])
    2627:  Wait timed out after 5067ms
    2628:  at /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/bin/javascript/node/selenium-webdriver/lib/webdriver.js:913:22
    2629:  at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    2630:  5) [firefox]
    2631:  firefox
    2632:  installAddon
    2633:  installs and uninstalls by signed directory:
    2634:  TimeoutError: Waiting for element to be located By(css selector, *[id="webextensions-selenium-example"])
    ...
    
    2642:  firefox
    2643:  installAddon
    2644:  1) installs and uninstalls by xpi file
    2645:  2) installs and uninstalls by unsigned zip file
    2646:  3) installs and uninstalls by signed zip file
    2647:  4) installs and uninstalls by unsigned directory
    2648:  5) installs and uninstalls by signed directory
    2649:  0 passing (1m)
    2650:  5 failing
    2651:  1) [firefox]
    2652:  firefox
    2653:  installAddon
    2654:  installs and uninstalls by xpi file:
    2655:  TimeoutError: Waiting for element to be located By(css selector, *[id="webextensions-selenium-example"])
    2656:  Wait timed out after 5072ms
    2657:  at /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/bin/javascript/node/selenium-webdriver/lib/webdriver.js:913:22
    2658:  at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    2659:  2) [firefox]
    2660:  firefox
    2661:  installAddon
    2662:  installs and uninstalls by unsigned zip file:
    2663:  TimeoutError: Waiting for element to be located By(css selector, *[id="webextensions-selenium-example"])
    2664:  Wait timed out after 5069ms
    2665:  at /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/bin/javascript/node/selenium-webdriver/lib/webdriver.js:913:22
    2666:  at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    2667:  3) [firefox]
    2668:  firefox
    2669:  installAddon
    2670:  installs and uninstalls by signed zip file:
    2671:  TimeoutError: Waiting for element to be located By(css selector, *[id="webextensions-selenium-example"])
    2672:  Wait timed out after 5076ms
    2673:  at /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/bin/javascript/node/selenium-webdriver/lib/webdriver.js:913:22
    2674:  at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    2675:  4) [firefox]
    2676:  firefox
    2677:  installAddon
    2678:  installs and uninstalls by unsigned directory:
    2679:  TimeoutError: Waiting for element to be located By(css selector, *[id="webextensions-selenium-example"])
    2680:  Wait timed out after 5080ms
    2681:  at /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/bin/javascript/node/selenium-webdriver/lib/webdriver.js:913:22
    2682:  at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    2683:  5) [firefox]
    2684:  firefox
    2685:  installAddon
    2686:  installs and uninstalls by signed directory:
    2687:  TimeoutError: Waiting for element to be located By(css selector, *[id="webextensions-selenium-example"])
    ...
    
    2695:  firefox
    2696:  installAddon
    2697:  1) installs and uninstalls by xpi file
    2698:  2) installs and uninstalls by unsigned zip file
    2699:  3) installs and uninstalls by signed zip file
    2700:  4) installs and uninstalls by unsigned directory
    2701:  5) installs and uninstalls by signed directory
    2702:  0 passing (1m)
    2703:  5 failing
    2704:  1) [firefox]
    2705:  firefox
    2706:  installAddon
    2707:  installs and uninstalls by xpi file:
    2708:  TimeoutError: Waiting for element to be located By(css selector, *[id="webextensions-selenium-example"])
    2709:  Wait timed out after 5066ms
    2710:  at /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/bin/javascript/node/selenium-webdriver/lib/webdriver.js:913:22
    2711:  at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    2712:  2) [firefox]
    2713:  firefox
    2714:  installAddon
    2715:  installs and uninstalls by unsigned zip file:
    2716:  TimeoutError: Waiting for element to be located By(css selector, *[id="webextensions-selenium-example"])
    2717:  Wait timed out after 5069ms
    2718:  at /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/bin/javascript/node/selenium-webdriver/lib/webdriver.js:913:22
    2719:  at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    2720:  3) [firefox]
    2721:  firefox
    2722:  installAddon
    2723:  installs and uninstalls by signed zip file:
    2724:  TimeoutError: Waiting for element to be located By(css selector, *[id="webextensions-selenium-example"])
    2725:  Wait timed out after 5083ms
    2726:  at /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/bin/javascript/node/selenium-webdriver/lib/webdriver.js:913:22
    2727:  at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    2728:  4) [firefox]
    2729:  firefox
    2730:  installAddon
    2731:  installs and uninstalls by unsigned directory:
    2732:  TimeoutError: Waiting for element to be located By(css selector, *[id="webextensions-selenium-example"])
    2733:  Wait timed out after 5070ms
    2734:  at /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/bin/javascript/node/selenium-webdriver/lib/webdriver.js:913:22
    2735:  at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    2736:  5) [firefox]
    2737:  firefox
    2738:  installAddon
    2739:  installs and uninstalls by signed directory:
    2740:  TimeoutError: Waiting for element to be located By(css selector, *[id="webextensions-selenium-example"])
    2741:  Wait timed out after 5090ms
    2742:  at /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/bin/javascript/node/selenium-webdriver/lib/webdriver.js:913:22
    2743:  at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    2744:  ================================================================================
    2745:  �[32m[3,918 / 3,932]�[0m 42 / 56 tests, �[31m�[1m2 failed�[0m;�[0m [Sched] Testing //javascript/node/selenium-webdriver:test-frame-test.js-firefox; 78s ... (4 actions, 1 running)
    2746:  �[32m[3,918 / 3,932]�[0m 42 / 56 tests, �[31m�[1m2 failed�[0m;�[0m [Sched] Testing //javascript/node/selenium-webdriver:test-bidi-local-value-test.js-firefox ... (4 actions, 2 running)
    2747:  �[32m[3,919 / 3,932]�[0m 43 / 56 tests, �[31m�[1m2 failed�[0m;�[0m [Sched] Testing //javascript/node/selenium-webdriver:test-bidi-local-value-test.js-firefox; 4s ... (4 actions, 1 running)
    2748:  �[32m[3,919 / 3,932]�[0m 43 / 56 tests, �[31m�[1m2 failed�[0m;�[0m [Sched] Testing //javascript/node/selenium-webdriver:test-logging-test.js-firefox; 5s ... (4 actions, 2 running)
    2749:  �[32m[3,920 / 3,932]�[0m 44 / 56 tests, �[31m�[1m2 failed�[0m;�[0m [Sched] Testing //javascript/node/selenium-webdriver:test-logging-test.js-firefox; 7s ... (4 actions, 1 running)
    2750:  �[32m[3,920 / 3,932]�[0m 44 / 56 tests, �[31m�[1m2 failed�[0m;�[0m [Sched] Testing //javascript/node/selenium-webdriver:test-logging-test.js-firefox; 17s ... (4 actions, 1 running)
    2751:  �[32m[3,920 / 3,932]�[0m 44 / 56 tests, �[31m�[1m2 failed�[0m;�[0m [Sched] Testing //javascript/node/selenium-webdriver:test-execute-script-test.js-firefox; 36s ... (4 actions, 2 running)
    2752:  �[32m[3,922 / 3,932]�[0m 46 / 56 tests, �[31m�[1m2 failed�[0m;�[0m [Sched] Testing //javascript/node/selenium-webdriver:test-upload-test.js-firefox; 35s ... (4 actions, 1 running)
    2753:  �[32m[3,922 / 3,932]�[0m 46 / 56 tests, �[31m�[1m2 failed�[0m;�[0m [Sched] Testing //javascript/node/selenium-webdriver:test-stale-element-test.js-firefox; 4s ... (4 actions, 2 running)
    2754:  �[32m[3,923 / 3,932]�[0m 47 / 56 tests, �[31m�[1m2 failed�[0m;�[0m [Sched] Testing //javascript/node/selenium-webdriver:test-stale-element-test.js-firefox; 5s ... (4 actions, 1 running)
    2755:  �[32m[3,923 / 3,932]�[0m 47 / 56 tests, �[31m�[1m2 failed�[0m;�[0m [Sched] Testing //javascript/node/selenium-webdriver:test-edge-options-test.js-firefox; 7s ... (4 actions, 2 running)
    2756:  �[32m[3,924 / 3,932]�[0m 48 / 56 tests, �[31m�[1m2 failed�[0m;�[0m [Sched] Testing //javascript/node/selenium-webdriver:test-edge-options-test.js-firefox; 9s ... (4 actions, 1 running)
    2757:  �[32m[3,924 / 3,932]�[0m 48 / 56 tests, �[31m�[1m2 failed�[0m;�[0m [Sched] Testing //javascript/node/selenium-webdriver:test-lib-api-test.js-firefox; 6s ... (4 actions, 2 running)
    2758:  �[32m[3,926 / 3,932]�[0m 50 / 56 tests, �[31m�[1m2 failed�[0m;�[0m [Sched] Testing //javascript/node/selenium-webdriver:test-lib-capabilities-test.js-firefox; 4s ... (4 actions, 1 running)
    2759:  �[32m[3,926 / 3,932]�[0m 50 / 56 tests, �[31m�[1m2 failed�[0m;�[0m [Sched] Testing //javascript/node/selenium-webdriver:test-fingerprint-test.js-firefox ... (4 actions, 2 running)
    2760:  �[32m[3,929 / 3,932]�[0m 53 / 56 tests, �[31m�[1m2 failed�[0m;�[0m [Sched] Testing //javascript/node/selenium-webdriver:test-bidi-add-intercept-parameters-test.js-firefox ... (3 actions, 2 running)
    2761:  �[32m[3,930 / 3,932]�[0m 54 / 56 tests, �[31m�[1m2 failed�[0m;�[0m [Sched] Testing //javascript/node/selenium-webdriver:test-bidi-add-intercept-parameters-test.js-firefox ... (2 actions, 1 running)
    2762:  �[32m[3,930 / 3,932]�[0m 54 / 56 tests, �[31m�[1m2 failed�[0m;�[0m Testing //javascript/node/selenium-webdriver:test-bidi-storage-test.js-firefox; 10s disk-cache, local ... (2 actions running)
    2763:  �[32m[3,931 / 3,932]�[0m 55 / 56 tests, �[31m�[1m2 failed�[0m;�[0m Testing //javascript/node/selenium-webdriver:test-bidi-add-intercept-parameters-test.js-firefox; 1s disk-cache, local
    2764:  �[32m[3,931 / 3,932]�[0m 55 / 56 tests, �[31m�[1m2 failed�[0m;�[0m Testing //javascript/node/selenium-webdriver:test-bidi-add-intercept-parameters-test.js-firefox; 11s disk-cache, local
    2765:  �[32m[3,931 / 3,932]�[0m 55 / 56 tests, �[31m�[1m2 failed�[0m;�[0m Testing //javascript/node/selenium-webdriver:test-bidi-add-intercept-parameters-test.js-firefox; 14s disk-cache, local
    2766:  �[32mINFO: �[0mFound 78 targets and 56 test targets...
    2767:  �[32mINFO: �[0mElapsed time: 1151.983s, Critical Path: 500.16s
    2768:  �[32mINFO: �[0m3495 processes: 1719 disk cache hit, 1598 internal, 66 linux-sandbox, 112 local.
    2769:  �[32mINFO: �[0mBuild completed, 2 tests FAILED, 3495 total actions
    ...
    
    2816:  //javascript/node/selenium-webdriver:test-remote-test.js-firefox         �[0m�[32mPASSED�[0m in 0.4s
    2817:  //javascript/node/selenium-webdriver:test-safari-test.js-firefox         �[0m�[32mPASSED�[0m in 0.4s
    2818:  //javascript/node/selenium-webdriver:test-select-test.js-firefox         �[0m�[32mPASSED�[0m in 9.3s
    2819:  //javascript/node/selenium-webdriver:test-stale-element-test.js-firefox  �[0m�[32mPASSED�[0m in 3.4s
    2820:  //javascript/node/selenium-webdriver:test-upload-test.js-firefox         �[0m�[32mPASSED�[0m in 3.5s
    2821:  //javascript/node/selenium-webdriver:test-virtualAuthenticator-test.js-firefox �[0m�[32mPASSED�[0m in 0.5s
    2822:  //javascript/node/selenium-webdriver:test-webComponent-test.js-firefox   �[0m�[32mPASSED�[0m in 0.4s
    2823:  //javascript/node/selenium-webdriver:test-window-test.js-firefox         �[0m�[32mPASSED�[0m in 4.0s
    2824:  //javascript/node/selenium-webdriver:test-firefox-addon-test.js-firefox  �[0m�[31m�[1mFAILED�[0m in 3 out of 3 in 77.2s
    2825:  Stats over 3 runs: max = 77.2s, min = 77.0s, avg = 77.2s, dev = 0.1s
    2826:  /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/javascript/node/selenium-webdriver/test-firefox-addon-test.js-firefox/test.log
    2827:  /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/javascript/node/selenium-webdriver/test-firefox-addon-test.js-firefox/test_attempts/attempt_1.log
    2828:  /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/javascript/node/selenium-webdriver/test-firefox-addon-test.js-firefox/test_attempts/attempt_2.log
    2829:  //javascript/node/selenium-webdriver:test-firefox-options-test.js-firefox �[0m�[31m�[1mFAILED�[0m in 3 out of 3 in 95.8s
    2830:  Stats over 3 runs: max = 95.8s, min = 95.7s, avg = 95.8s, dev = 0.0s
    2831:  /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/javascript/node/selenium-webdriver/test-firefox-options-test.js-firefox/test.log
    2832:  /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/javascript/node/selenium-webdriver/test-firefox-options-test.js-firefox/test_attempts/attempt_1.log
    2833:  /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/javascript/node/selenium-webdriver/test-firefox-options-test.js-firefox/test_attempts/attempt_2.log
    2834:  Executed 56 out of 56 tests: 54 tests pass and �[0m�[31m�[1m2 fail locally�[0m.
    2835:  There were tests whose specified size is too big. Use the --test_verbose_timeout_warnings command line option to see which ones these are.
    2836:  �[0m
    2837:  ##[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.

    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Projects
    None yet
    Development

    Successfully merging this pull request may close these issues.

    None yet

    1 participant