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

[rust] Include mixed output (INFO, WARN, DEBUG, etc. to stderr and minimal JSON to stdout) #13414

Merged
merged 6 commits into from
May 17, 2024

Conversation

bonigarcia
Copy link
Member

@bonigarcia bonigarcia commented Jan 9, 2024

Description

This PR includes a new type of output for Selenium Manager -called mixed- for the --output argument . This output makes SM to write the regular logs (INFO, WARN, DEBUG, etc.) to stderr while they are generated, and a minimal JSON output (composed by driver_path and browser_path) to the stdout and the end of the SM execution. This feature has been tested on Windows and Linux:

user@ubuntu-vm:~/dev/selenium/rust$ cargo run -- --browser chrome --debug --output mixed > stdout.txt 2> stderr.txt

user@ubuntu-vm:~/dev/selenium/rust$ cat stdout.txt 
{
  "driver_path": "/home/user/.cache/selenium/chromedriver/linux64/120.0.6099.109/chromedriver",
  "browser_path": "/usr/bin/google-chrome"
}

user@ubuntu-vm:~/dev/selenium/rust$ cat stderr.txt 
    Finished dev [unoptimized + debuginfo] target(s) in 1.02s
     Running `target/debug/selenium-manager --browser chrome --debug --output mixed`
DEBUG	chromedriver not found in PATH
DEBUG	chrome detected at /usr/bin/google-chrome
DEBUG	Running command: /usr/bin/google-chrome --version
DEBUG	Output: "Google Chrome 120.0.6099.199 "
DEBUG	Detected browser: chrome 120.0.6099.199
DEBUG	Required driver: chromedriver 120.0.6099.109
DEBUG	chromedriver 120.0.6099.109 already in the cache
INFO	Driver path: /home/user/.cache/selenium/chromedriver/linux64/120.0.6099.109/chromedriver
INFO	Browser path: /usr/bin/google-chrome
C:\Users\boni\Documents\dev\selenium\rust>cargo run -- --browser chrome --debug --output mixed > stdout.txt 2> stderr.txt

C:\Users\boni\Documents\dev\selenium\rust>type stdout.txt
{
  "driver_path": "C:\\Users\\boni\\.cache\\selenium\\chromedriver\\win64\\120.0.6099.109\\chromedriver.exe",
  "browser_path": "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"
}

C:\Users\boni\Documents\dev\selenium\rust>type stderr.txt
   Compiling selenium-manager v0.4.17-nightly (C:\Users\boni\Documents\dev\selenium\rust)
    Finished dev [unoptimized + debuginfo] target(s) in 5.76s
     Running `target\debug\selenium-manager.exe --browser chrome --debug --output mixed`
DEBUG   chromedriver not found in PATH
DEBUG   chrome detected at C:\Program Files\Google\Chrome\Application\chrome.exe
DEBUG   Running command: wmic datafile where name='C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe' get Version /value
DEBUG   Output: "\r\r\n\r\r\nVersion=120.0.6099.199\r\r\n\r\r\n\r\r\n\r"
DEBUG   Detected browser: chrome 120.0.6099.199
DEBUG   Required driver: chromedriver 120.0.6099.109
DEBUG   chromedriver 120.0.6099.109 already in the cache
INFO    Driver path: C:\Users\boni\.cache\selenium\chromedriver\win64\120.0.6099.109\chromedriver.exe
INFO    Browser path: C:\Program Files\Google\Chrome\Application\chrome.exe

NOTE 1: This PR also stops writing the value of the driver path in result.message of the old JSON format. This feature has been supported to provide compatibility with the initial versions of SM, but I believe this is not required anymore. Example:

C:\Users\boni\Documents\dev\selenium\rust>cargo run -- --browser chrome --output json
    Finished dev [unoptimized + debuginfo] target(s) in 0.27s
     Running `target\debug\selenium-manager.exe --browser chrome --output json`
{
  "logs": [
    {
      "level": "INFO",
      "timestamp": 1704797456,
      "message": "Driver path: C:\\Users\\boni\\.cache\\selenium\\chromedriver\\win64\\120.0.6099.109\\chromedriver.exe"
    },
    {
      "level": "INFO",
      "timestamp": 1704797456,
      "message": "Browser path: C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"
    }
  ],
  "result": {
    "code": 0,
    "message": "",
    "driver_path": "C:\\Users\\boni\\.cache\\selenium\\chromedriver\\win64\\120.0.6099.109\\chromedriver.exe",
    "browser_path": "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"
  }
}

NOTE 2: The value of driver_path is also used for the grid path. Examples:

C:\Users\boni\Documents\dev\selenium\rust>cargo run -- --grid --output mixed --debug
    Finished dev [unoptimized + debuginfo] target(s) in 0.22s
     Running `target\debug\selenium-manager.exe --grid --output mixed --debug`
DEBUG   grid not found in the system
DEBUG   Required driver: selenium-server 4.16.1
DEBUG   selenium-server 4.16.1 already in the cache
INFO    Driver path: C:\Users\boni\.cache\selenium\grid\4.16.1\selenium-server-4.16.1.jar
{
  "driver_path": "C:\\Users\\boni\\.cache\\selenium\\grid\\4.16.1\\selenium-server-4.16.1.jar",
  "browser_path": ""
}
C:\Users\boni\Documents\dev\selenium\rust>cargo run -- --grid --output json
    Finished dev [unoptimized + debuginfo] target(s) in 0.22s
     Running `target\debug\selenium-manager.exe --grid --output json`
{
  "logs": [
    {
      "level": "INFO",
      "timestamp": 1704797731,
      "message": "Driver path: C:\\Users\\boni\\.cache\\selenium\\grid\\4.16.1\\selenium-server-4.16.1.jar"
    }
  ],
  "result": {
    "code": 0,
    "message": "",
    "driver_path": "C:\\Users\\boni\\.cache\\selenium\\grid\\4.16.1\\selenium-server-4.16.1.jar",
    "browser_path": ""
  }
}

Motivation and Context

This feature has been requested in the selenium_manager Slack channel.
Fixes #13260

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.

Copy link
Member

@diemol diemol left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I prefer to avoid a value like mixed because it can be confusing. Why don't we leave the output as it is and log JSON to stderr? I cannot imagine someone needing stdout in one format and stderr in another.

If that looks strange on the console. Then let's have a flag for the output/result, and a a flag for the log output. What do you think?

@titusfortner
Copy link
Member

I think we want to get rid of --output as a toggle all together, because I *think mixed provides what each use case wants to see?

  • "SHELL" — the current output no longer makes sense. The original idea is you could grab the driver path directly from stdout and use it. but now that there are multiple paths and it is unformatted, it isn't useful
  • "JSON" if we don't need to be able to parse logs, we only need the results JSON from this to format browser/driver/grid path info
  • "LOGGER" the point was to see what it is doing by default, which in MIXED will always be the case

@bonigarcia
Copy link
Member Author

I've done that way for different reasons. First, because writing in the stderr something that is not an error message seems weird to me. But at least the name mixed suggests hybrid behavior. Also, because this mixed type combines JSON and standard log in the same output.

And more important, creating a new output type (called mixed or another name) is not a breaking change. But using the old value json for the new output (logs to stderr and minimal JSON to stdout) would be a breaking change, which requires an immediate change in the bindings (to adapt to the new JSON parsing etc.).

Having said that, I can update the PR if you still consider a new json output as a better approach (i.e., logs to stderr and minimal JSON to stdout). In that case, currently, maybe the build will be broken, since now (although it should be temporal), the latest SM binaries are constructed with the PR.

@diemol
Copy link
Member

diemol commented Jan 10, 2024

I guess it makes sense to return the results by default in a json structure because it is easier to consume, and ideally the ones who use this binary need to do that.

Now, my doubt with this PR, is how can we show a good error message in the client bindings when an error happens?

@titusfortner
Copy link
Member

If status code > 0, then the stdout needs to be the error message.

@bonigarcia
Copy link
Member Author

bonigarcia commented Jan 14, 2024

the stdout needs to be the error message

That, for me, is a bit against nature.

Maybe the "minimal JSON", as I said in the PR, should contain the field already available in the former result field of the former JSON. I mean the following:

{
    "code": number,
    "message": "Error meesage. Only available for code != 0. For code 0, this message will be empty",
    "driver_path": "/path/to/driver (or /path/to/grid)",
    "browser_path": "path/to/browser"
  }

And if you prefer, I can remove the mixed output, and the json output will be like that (i.e., regular traces to stderr and minimal JSON to stdout).

@titusfortner
Copy link
Member

That, for me, is a bit against nature.

You're right, my suggestion is not standard; disregard. 😁

We should be able to parse ERROR messages from stderr and put them in the exception, still?

@bonigarcia
Copy link
Member Author

We should be able to parse ERROR messages from stderr and put them in the exception, still?

Using the approach I proposed in my last message, the error message should be in the message field (in the the stdout). And if that output is not parseable, it would mean that an uncontrolled panic error happened. In that case, I would attach the whole stdout/stderr to the exception (although I believe everything will go to stderr).

Then. Should I implemented the last approach? If so, remember that it is a breaking change and all bindings should be updated to parse the new JSON etc.

@titusfortner
Copy link
Member

let's keep "mixed" for this release so we have time to update the implementation in all the bindings. Whether we replace json output (Diego's suggestion) or remove the toggle all together (mine), we can do that in next release.

And sure, let's add "error" to stdout json. I'm not sure it's necessary, but we can remove it later if we need to.

@diemol
Copy link
Member

diemol commented Jan 19, 2024

Sounds good.

@bonigarcia
Copy link
Member Author

Ok then. I have just committed another patch to this PR to include the error message (i.e., a field called message) in the minimal JSON (i.e., for the mixed output). I finally did not include the code since it should be redundant to the process exit code. Here it is some examples:

./selenium-manager --browser chrome --debug --output mixed > out.txt 2> err.txt

cat out.txt
{
  "driver_path": "C:\\Users\\boni\\.cache\\selenium\\chromedriver\\win64\\120.0.6099.109\\chromedriver.exe",
  "browser_path": "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe",
  "message": ""
}

cat err.txt
DEBUG   chromedriver not found in PATH
DEBUG   chrome detected at C:\Program Files\Google\Chrome\Application\chrome.exe
DEBUG   Running command: wmic datafile where name='C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe' get Version /value
DEBUG   Output: "\r\r\n\r\r\nVersion=120.0.6099.224\r\r\n\r\r\n\r\r\n\r"
DEBUG   Detected browser: chrome 120.0.6099.224
DEBUG   Required driver: chromedriver 120.0.6099.109
DEBUG   chromedriver 120.0.6099.109 already in the cache
INFO    Driver path: C:\Users\boni\.cache\selenium\chromedriver\win64\120.0.6099.109\chromedriver.exe
INFO    Browser path: C:\Program Files\Google\Chrome\Application\chrome.exe
./selenium-manager --browser bad --debug --output mixed > out.txt 2> err.txt

cat out.txt
{
  "driver_path": "",
  "browser_path": "",
  "message": "Invalid browser name: bad"
}

cat type err.txt
ERROR   Invalid browser name: bad

@bonigarcia
Copy link
Member Author

Update: I have changed the field message in the minimal JSON to error, which is more descriptive. For instance:

./selenium-manager --browser aaa --debug --output mixed
ERROR   Invalid browser name: aaa
{
  "driver_path": "",
  "browser_path": "",
  "error": "Invalid browser name: aaa"
}

@diemol
Copy link
Member

diemol commented Feb 8, 2024

Should we merge this after releasing 4.18 to have time to update the bindings?

@bonigarcia bonigarcia force-pushed the sm_mixed_output branch 2 times, most recently from f5c9049 to 7cd5bf3 Compare February 8, 2024 16:49
@titusfortner
Copy link
Member

Since the changes are only for --output mixed then we should be able to merge so long as we keep --output json in the release. I'd actually like to be able to implement the changes in the bindings for 4.19 with the features already in trunk.

The one important piece that is missing is --log-level. @bonigarcia is that something we could get before 4.18? Thanks for your work on this!

@bonigarcia
Copy link
Member Author

is that something we could get before 4.18?

Sure, I'll make a PR about it soon.

@bonigarcia
Copy link
Member Author

--log-level is implemented in #13566.

Copy link
Contributor

codiumai-pr-agent-pro bot commented May 16, 2024

CI Failure Feedback 🧐

(Checks updated until commit f4d2030)

Action: Test / All RBE tests

Failed stage: Run Bazel [❌]

Failed test name: Selenium::WebDriver::Firefox::Driver#install_addon

Failure summary:

The action failed due to the test Selenium::WebDriver::Firefox::Driver#install_addon failing
multiple times. The failure was caused by an attempt to install corrupted add-on files (.xpi and
.zip), which resulted in Selenium::WebDriver::Error::UnknownError with the message indicating that
the files appear to be corrupt.

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

975:  Package 'php-symfony-debug-bundle' is not installed, so not removed
976:  Package 'php-symfony-dependency-injection' is not installed, so not removed
977:  Package 'php-symfony-deprecation-contracts' is not installed, so not removed
978:  Package 'php-symfony-discord-notifier' is not installed, so not removed
979:  Package 'php-symfony-doctrine-bridge' is not installed, so not removed
980:  Package 'php-symfony-doctrine-messenger' is not installed, so not removed
981:  Package 'php-symfony-dom-crawler' is not installed, so not removed
982:  Package 'php-symfony-dotenv' is not installed, so not removed
983:  Package 'php-symfony-error-handler' is not installed, so not removed
...

1677:  (18:16:06) �[33mDEBUG: �[0m/home/runner/.bazel/external/rules_jvm_external~/coursier.bzl:754:18: Found duplicate artifact versions
1678:  com.google.code.gson:gson has multiple versions 2.10.1, 2.8.9
1679:  com.google.guava:guava has multiple versions 33.2.0-jre, 31.1-jre
1680:  org.mockito:mockito-core has multiple versions 5.12.0, 4.3.1
1681:  Please remove duplicate artifacts from the artifact list so you do not get unexpected artifact versions
1682:  (18:16:09) �[32mAnalyzing:�[0m 1605 targets (425 packages loaded, 7578 targets configured)
1683:  �[32m[1 / 1]�[0m checking cached actions
1684:  (18:16:10) �[33mDEBUG: �[0m/home/runner/.bazel/external/rules_jvm_external~/coursier.bzl:754:18: Found duplicate artifact versions
1685:  com.google.errorprone:error_prone_annotations has multiple versions 2.11.0, 2.9.0
...

1732:  (18:17:15) �[32mINFO: �[0mFrom Compiling generator [for tool]:
1733:  warning CS1701: Assuming assembly reference 'System.Runtime, Version=4.2.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' used by 'Microsoft.Extensions.DependencyInjection' matches identity 'System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' of 'System.Runtime', you may need to supply runtime policy
1734:  (18:17:16) �[32mINFO: �[0mFrom Installing external/rules_ruby~~ruby~bundle/rb/vendor/cache/bundler-2.5.10.gem (@@rules_ruby~~ruby~bundle//:bundler-2.5.10):
1735:  Successfully installed bundler-2.5.10
1736:  1 gem installed
1737:  (18:17:17) �[32mAnalyzing:�[0m 1605 targets (1176 packages loaded, 34630 targets configured)
1738:  �[32m[3,597 / 5,574]�[0m 71 / 153 tests;�[0m [Prepa] Action third_party/dotnet/devtools/src/generator/generator/net7.0/generator [for tool] ... (43 actions, 4 running)
1739:  (18:17:17) �[32mINFO: �[0mFrom Building java/src/org/openqa/selenium/remote/libapi-class.jar (66 source files):
1740:  java/src/org/openqa/selenium/remote/ErrorHandler.java:46: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1741:  private final ErrorCodes errorCodes;
1742:  ^
1743:  java/src/org/openqa/selenium/remote/ErrorHandler.java:60: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1744:  this.errorCodes = new ErrorCodes();
1745:  ^
1746:  java/src/org/openqa/selenium/remote/ErrorHandler.java:68: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1747:  public ErrorHandler(ErrorCodes codes, boolean includeServerErrors) {
1748:  ^
1749:  java/src/org/openqa/selenium/remote/Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1750:  ErrorCodes errorCodes = new ErrorCodes();
1751:  ^
1752:  java/src/org/openqa/selenium/remote/Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1753:  ErrorCodes errorCodes = new ErrorCodes();
1754:  ^
1755:  java/src/org/openqa/selenium/remote/ProtocolHandshake.java:181: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1756:  response.setStatus(ErrorCodes.SUCCESS);
1757:  ^
1758:  java/src/org/openqa/selenium/remote/ProtocolHandshake.java:182: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1759:  response.setState(ErrorCodes.SUCCESS_STRING);
1760:  ^
1761:  java/src/org/openqa/selenium/remote/W3CHandshakeResponse.java:53: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1762:  new ErrorCodes().toStatus((String) rawError, Optional.of(tuple.getStatusCode())));
1763:  ^
1764:  java/src/org/openqa/selenium/remote/W3CHandshakeResponse.java:56: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1765:  new ErrorCodes().getExceptionType((String) rawError);
1766:  ^
1767:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:44: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1768:  private final ErrorCodes errorCodes = new ErrorCodes();
1769:  ^
1770:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:44: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1771:  private final ErrorCodes errorCodes = new ErrorCodes();
1772:  ^
1773:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:55: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1774:  int status = response.getStatus() == ErrorCodes.SUCCESS ? HTTP_OK : HTTP_INTERNAL_ERROR;
1775:  ^
1776:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:101: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1777:  response.setStatus(ErrorCodes.UNKNOWN_COMMAND);
1778:  ^
1779:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:103: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1780:  response.setStatus(ErrorCodes.UNHANDLED_ERROR);
1781:  ^
1782:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:124: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1783:  response.setStatus(ErrorCodes.SUCCESS);
1784:  ^
1785:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:125: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1786:  response.setState(errorCodes.toState(ErrorCodes.SUCCESS));
1787:  ^
1788:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:131: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1789:  response.setState(errorCodes.toState(ErrorCodes.SUCCESS));
1790:  ^
1791:  java/src/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodec.java:70: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1792:  private final ErrorCodes errorCodes = new ErrorCodes();
1793:  ^
1794:  java/src/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodec.java:70: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1795:  private final ErrorCodes errorCodes = new ErrorCodes();
1796:  ^
1797:  java/src/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodec.java:93: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1798:  response.setStatus(ErrorCodes.UNKNOWN_COMMAND);
1799:  ^
1800:  java/src/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodec.java:98: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1801:  response.setStatus(ErrorCodes.UNHANDLED_ERROR);
1802:  ^
1803:  java/src/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodec.java:145: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1804:  response.setStatus(ErrorCodes.SUCCESS);
...

1858:  Please ensure that your Gemfiles and .gemspecs are suitably restrictive
1859:  to avoid an unexpected breakage when 3.0 is released (e.g. ~> 2.3.0).
1860:  See https://github.com/rubyzip/rubyzip for details. The Changelog also
1861:  lists other enhancements and bugfixes that have been implemented since
1862:  version 2.3.0.
1863:  (18:17:22) �[32mAnalyzing:�[0m 1605 targets (1176 packages loaded, 34835 targets configured)
1864:  �[32m[5,293 / 6,529]�[0m 73 / 284 tests;�[0m Creating source manifest for //dotnet/test/common:TypingTest-chrome; 0s local ... (43 actions, 5 running)
1865:  (18:17:23) �[32mINFO: �[0mFrom Building java/src/org/openqa/selenium/remote/libapi-class.jar (66 source files):
1866:  java/src/org/openqa/selenium/remote/ErrorHandler.java:46: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1867:  private final ErrorCodes errorCodes;
1868:  ^
1869:  java/src/org/openqa/selenium/remote/ErrorHandler.java:60: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1870:  this.errorCodes = new ErrorCodes();
1871:  ^
1872:  java/src/org/openqa/selenium/remote/ErrorHandler.java:68: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1873:  public ErrorHandler(ErrorCodes codes, boolean includeServerErrors) {
1874:  ^
1875:  java/src/org/openqa/selenium/remote/Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1876:  ErrorCodes errorCodes = new ErrorCodes();
1877:  ^
1878:  java/src/org/openqa/selenium/remote/Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1879:  ErrorCodes errorCodes = new ErrorCodes();
1880:  ^
1881:  java/src/org/openqa/selenium/remote/ProtocolHandshake.java:181: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1882:  response.setStatus(ErrorCodes.SUCCESS);
1883:  ^
1884:  java/src/org/openqa/selenium/remote/ProtocolHandshake.java:182: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1885:  response.setState(ErrorCodes.SUCCESS_STRING);
1886:  ^
1887:  java/src/org/openqa/selenium/remote/W3CHandshakeResponse.java:53: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1888:  new ErrorCodes().toStatus((String) rawError, Optional.of(tuple.getStatusCode())));
1889:  ^
1890:  java/src/org/openqa/selenium/remote/W3CHandshakeResponse.java:56: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1891:  new ErrorCodes().getExceptionType((String) rawError);
1892:  ^
1893:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:44: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1894:  private final ErrorCodes errorCodes = new ErrorCodes();
1895:  ^
1896:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:44: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1897:  private final ErrorCodes errorCodes = new ErrorCodes();
1898:  ^
1899:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:55: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1900:  int status = response.getStatus() == ErrorCodes.SUCCESS ? HTTP_OK : HTTP_INTERNAL_ERROR;
1901:  ^
1902:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:101: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1903:  response.setStatus(ErrorCodes.UNKNOWN_COMMAND);
1904:  ^
1905:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:103: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1906:  response.setStatus(ErrorCodes.UNHANDLED_ERROR);
1907:  ^
1908:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:124: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1909:  response.setStatus(ErrorCodes.SUCCESS);
1910:  ^
1911:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:125: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1912:  response.setState(errorCodes.toState(ErrorCodes.SUCCESS));
1913:  ^
1914:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:131: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1915:  response.setState(errorCodes.toState(ErrorCodes.SUCCESS));
1916:  ^
1917:  java/src/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodec.java:70: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1918:  private final ErrorCodes errorCodes = new ErrorCodes();
1919:  ^
1920:  java/src/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodec.java:70: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1921:  private final ErrorCodes errorCodes = new ErrorCodes();
1922:  ^
1923:  java/src/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodec.java:93: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1924:  response.setStatus(ErrorCodes.UNKNOWN_COMMAND);
1925:  ^
1926:  java/src/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodec.java:98: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1927:  response.setStatus(ErrorCodes.UNHANDLED_ERROR);
1928:  ^
1929:  java/src/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodec.java:145: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1930:  response.setStatus(ErrorCodes.SUCCESS);
...

1937:  �[32m[7,048 / 7,288]�[0m 109 / 451 tests;�[0m Creating source manifest for //dotnet/test/common:Interactions/DragAndDropTest-chrome; 0s local ... (20 actions, 3 running)
1938:  (18:17:32) �[32mAnalyzing:�[0m 1605 targets (1180 packages loaded, 35105 targets configured)
1939:  �[32m[7,092 / 7,441]�[0m 109 / 511 tests;�[0m [Prepa] Testing //rb/spec/integration/selenium/webdriver/chrome:options-chrome; 4s ... (50 actions, 0 running)
1940:  (18:17:37) �[32mAnalyzing:�[0m 1605 targets (1182 packages loaded, 35220 targets configured)
1941:  �[32m[7,114 / 7,602]�[0m 113 / 617 tests;�[0m [Prepa] Action dotnet/test/common/PartialLinkTextMatchTest-chrome/net7.0/WebDriver.Common.Tests; 7s ... (45 actions, 0 running)
1942:  (18:17:42) �[32mAnalyzing:�[0m 1605 targets (1182 packages loaded, 35630 targets configured)
1943:  �[32m[7,363 / 8,338]�[0m 150 / 834 tests;�[0m [Prepa] Testing //rb/spec/unit/selenium/webdriver/common/interactions:pointer_cancel ... (49 actions, 1 running)
1944:  (18:17:46) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodecTest.jar (1 source file):
1945:  java/test/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodecTest.java:26: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1946:  import static org.openqa.selenium.remote.ErrorCodes.METHOD_NOT_ALLOWED;
1947:  ^
1948:  java/test/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodecTest.java:55: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1949:  assertThat(decoded.getStatus().intValue()).isEqualTo(ErrorCodes.SUCCESS);
1950:  ^
1951:  java/test/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodecTest.java:81: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1952:  assertThat(decoded.getStatus()).isEqualTo(ErrorCodes.UNHANDLED_ERROR);
1953:  ^
1954:  java/test/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodecTest.java:107: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1955:  assertThat(decoded.getStatus()).isEqualTo(ErrorCodes.UNHANDLED_ERROR);
1956:  ^
1957:  (18:17:47) �[32mAnalyzing:�[0m 1605 targets (1183 packages loaded, 35932 targets configured)
1958:  �[32m[8,718 / 9,792]�[0m 203 / 960 tests;�[0m [Prepa] Testing //dotnet/test/common:DevTools/DevToolsConsoleTest-chrome ... (49 actions, 6 running)
1959:  (18:17:48) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/libsmall-tests-test-lib.jar (5 source files) and running annotation processors (AutoServiceProcessor):
1960:  java/test/org/openqa/selenium/remote/WebDriverFixture.java:170: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1961:  response.setStatus(new ErrorCodes().toStatus(state, Optional.of(400)));
1962:  ^
1963:  (18:17:51) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/RemotableByTest.jar (1 source file) and running annotation processors (AutoServiceProcessor):
1964:  java/test/org/openqa/selenium/remote/RemotableByTest.java:23: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1965:  import static org.openqa.selenium.remote.ErrorCodes.SUCCESS_STRING;
1966:  ^
1967:  java/test/org/openqa/selenium/remote/RemotableByTest.java:23: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1968:  import static org.openqa.selenium.remote.ErrorCodes.SUCCESS_STRING;
1969:  ^
1970:  java/test/org/openqa/selenium/remote/RemotableByTest.java:23: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1971:  import static org.openqa.selenium.remote.ErrorCodes.SUCCESS_STRING;
1972:  ^
1973:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1974:  private final ErrorCodes errorCodes = new ErrorCodes();
1975:  ^
1976:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1977:  private final ErrorCodes errorCodes = new ErrorCodes();
1978:  ^
1979:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1980:  private final ErrorCodes errorCodes = new ErrorCodes();
1981:  ^
1982:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1983:  private final ErrorCodes errorCodes = new ErrorCodes();
1984:  ^
1985:  (18:17:52) �[32mAnalyzing:�[0m 1605 targets (1183 packages loaded, 36105 targets configured)
1986:  �[32m[9,635 / 10,682]�[0m 249 / 1116 tests;�[0m [Prepa] Testing //dotnet/test/common:WindowSwitchingTest-chrome ... (49 actions, 11 running)
1987:  (18:17:54) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/json/JsonTest.jar (1 source file):
1988:  java/test/org/openqa/selenium/json/JsonTest.java:430: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1989:  assertThat(response.getState()).isEqualTo(new ErrorCodes().toState(0));
1990:  ^
1991:  java/test/org/openqa/selenium/json/JsonTest.java:441: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1992:  assertThat(response.getState()).isEqualTo(new ErrorCodes().toState(0));
1993:  ^
1994:  java/test/org/openqa/selenium/json/JsonTest.java:454: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
1995:  assertThat(response.getState()).isEqualTo(new ErrorCodes().toState(32));
...

2014:  Optional<Map<String, List<String>>> data = FormEncodedData.getData(request);
2015:  ^
2016:  java/test/org/openqa/selenium/remote/http/FormEncodedDataTest.java:102: warning: [removal] FormEncodedData in org.openqa.selenium.remote.http has been deprecated and marked for removal
2017:  Optional<Map<String, List<String>>> data = FormEncodedData.getData(request);
2018:  ^
2019:  java/test/org/openqa/selenium/remote/http/FormEncodedDataTest.java:114: warning: [removal] FormEncodedData in org.openqa.selenium.remote.http has been deprecated and marked for removal
2020:  Optional<Map<String, List<String>>> data = FormEncodedData.getData(request);
2021:  ^
2022:  (18:17:55) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/ErrorHandlerTest.jar (1 source file) and running annotation processors (AutoServiceProcessor):
2023:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:79: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2024:  handler.throwIfResponseFailed(createResponse(ErrorCodes.SUCCESS), 100);
2025:  ^
2026:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:85: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2027:  assertThrowsCorrectExceptionType(ErrorCodes.NO_SUCH_WINDOW, NoSuchWindowException.class);
2028:  ^
2029:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:86: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2030:  assertThrowsCorrectExceptionType(ErrorCodes.NO_SUCH_FRAME, NoSuchFrameException.class);
2031:  ^
2032:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:87: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2033:  assertThrowsCorrectExceptionType(ErrorCodes.NO_SUCH_ELEMENT, NoSuchElementException.class);
2034:  ^
2035:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:88: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2036:  assertThrowsCorrectExceptionType(ErrorCodes.UNKNOWN_COMMAND, UnsupportedCommandException.class);
2037:  ^
2038:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:90: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2039:  ErrorCodes.METHOD_NOT_ALLOWED, UnsupportedCommandException.class);
2040:  ^
2041:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:92: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2042:  ErrorCodes.STALE_ELEMENT_REFERENCE, StaleElementReferenceException.class);
2043:  ^
2044:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:94: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2045:  ErrorCodes.INVALID_ELEMENT_STATE, InvalidElementStateException.class);
2046:  ^
2047:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:95: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2048:  assertThrowsCorrectExceptionType(ErrorCodes.XPATH_LOOKUP_ERROR, InvalidSelectorException.class);
2049:  ^
2050:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:107: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2051:  Response response = createResponse(ErrorCodes.UNHANDLED_ERROR);
2052:  ^
2053:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:120: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2054:  createResponse(ErrorCodes.UNHANDLED_ERROR, "boom"), 123))
2055:  ^
2056:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:133: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2057:  createResponse(ErrorCodes.UNHANDLED_ERROR, ImmutableMap.of("message", "boom")),
2058:  ^
2059:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:147: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2060:  ErrorCodes.UNHANDLED_ERROR,
2061:  ^
2062:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:167: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2063:  ErrorCodes.UNHANDLED_ERROR,
2064:  ^
2065:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:193: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2066:  createResponse(ErrorCodes.UNHANDLED_ERROR, toMap(serverError)), 123))
2067:  ^
2068:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:214: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2069:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
2070:  ^
2071:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:248: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2072:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
2073:  ^
2074:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:280: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2075:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
2076:  ^
2077:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:308: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2078:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
2079:  ^
2080:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:327: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2081:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
2082:  ^
2083:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:355: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2084:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
2085:  ^
2086:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:394: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2087:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
2088:  ^
2089:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:426: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2090:  createResponse(ErrorCodes.UNHANDLED_ERROR, toMap(serverError)), 123))
2091:  ^
2092:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:435: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2093:  exceptions.put(ErrorCodes.NO_SUCH_SESSION, NoSuchSessionException.class);
2094:  ^
2095:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:436: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2096:  exceptions.put(ErrorCodes.NO_SUCH_ELEMENT, NoSuchElementException.class);
2097:  ^
2098:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:437: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2099:  exceptions.put(ErrorCodes.NO_SUCH_FRAME, NoSuchFrameException.class);
2100:  ^
2101:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:438: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2102:  exceptions.put(ErrorCodes.UNKNOWN_COMMAND, UnsupportedCommandException.class);
2103:  ^
2104:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:439: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2105:  exceptions.put(ErrorCodes.STALE_ELEMENT_REFERENCE, StaleElementReferenceException.class);
2106:  ^
2107:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:440: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2108:  exceptions.put(ErrorCodes.INVALID_ELEMENT_STATE, InvalidElementStateException.class);
2109:  ^
2110:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:441: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2111:  exceptions.put(ErrorCodes.UNHANDLED_ERROR, WebDriverException.class);
2112:  ^
2113:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:442: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2114:  exceptions.put(ErrorCodes.JAVASCRIPT_ERROR, JavascriptException.class);
2115:  ^
2116:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:443: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2117:  exceptions.put(ErrorCodes.XPATH_LOOKUP_ERROR, InvalidSelectorException.class);
2118:  ^
2119:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:444: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2120:  exceptions.put(ErrorCodes.TIMEOUT, TimeoutException.class);
2121:  ^
2122:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:445: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2123:  exceptions.put(ErrorCodes.NO_SUCH_WINDOW, NoSuchWindowException.class);
2124:  ^
2125:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:446: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2126:  exceptions.put(ErrorCodes.INVALID_COOKIE_DOMAIN, InvalidCookieDomainException.class);
2127:  ^
2128:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:447: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2129:  exceptions.put(ErrorCodes.UNABLE_TO_SET_COOKIE, UnableToSetCookieException.class);
2130:  ^
2131:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:448: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2132:  exceptions.put(ErrorCodes.UNEXPECTED_ALERT_PRESENT, UnhandledAlertException.class);
2133:  ^
2134:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:449: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2135:  exceptions.put(ErrorCodes.NO_ALERT_PRESENT, NoAlertPresentException.class);
2136:  ^
2137:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:450: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2138:  exceptions.put(ErrorCodes.ASYNC_SCRIPT_TIMEOUT, ScriptTimeoutException.class);
2139:  ^
2140:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:451: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2141:  exceptions.put(ErrorCodes.INVALID_SELECTOR_ERROR, InvalidSelectorException.class);
2142:  ^
2143:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:452: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2144:  exceptions.put(ErrorCodes.SESSION_NOT_CREATED, SessionNotCreatedException.class);
2145:  ^
2146:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:453: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2147:  exceptions.put(ErrorCodes.MOVE_TARGET_OUT_OF_BOUNDS, MoveTargetOutOfBoundsException.class);
2148:  ^
2149:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:454: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2150:  exceptions.put(ErrorCodes.INVALID_XPATH_SELECTOR, InvalidSelectorException.class);
2151:  ^
2152:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:455: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2153:  exceptions.put(ErrorCodes.INVALID_XPATH_SELECTOR_RETURN_TYPER, InvalidSelectorException.class);
2154:  ^
2155:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:469: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2156:  ? ErrorCodes.INVALID_SELECTOR_ERROR
2157:  ^
2158:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:471: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2159:  assertThat(new ErrorCodes().toStatusCode(e)).isEqualTo(expected);
2160:  ^
2161:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:483: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
2162:  response.setState(new ErrorCodes().toState(status));
...

2172:  (18:18:02) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:351:19: runfiles symlink javascript/atoms/test/click_submit_test.html -> javascript/atoms/test/click_submit_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
2173:  (18:18:02) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:351:19: runfiles symlink javascript/atoms/test/click_test.html -> javascript/atoms/test/click_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
2174:  (18:18:02) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:351:19: runfiles symlink javascript/atoms/test/clientrect_test.html -> javascript/atoms/test/clientrect_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
2175:  (18:18:02) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:351:19: runfiles symlink javascript/atoms/test/color_test.html -> javascript/atoms/test/color_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
2176:  (18:18:02) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:351:19: runfiles symlink javascript/atoms/test/dom_test.html -> javascript/atoms/test/dom_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
2177:  (18:18:02) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:351:19: runfiles symlink javascript/atoms/test/drag_test.html -> javascript/atoms/test/drag_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
2178:  (18:18:02) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:351:19: runfiles symlink javascript/atoms/test/enabled_test.html -> javascript/atoms/test/enabled_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
2179:  (18:18:02) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:351:19: runfiles symlink javascript/atoms/test/enter_submit_test.html -> javascript/atoms/test/enter_submit_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
2180:  (18:18:02) �[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
...

2298:  (18:18:42) �[32m[14,535 / 14,597]�[0m 1544 / 1605 tests;�[0m [Prepa] Testing //dotnet/test/common:GetMultipleAttributeTest-edge ... (50 actions, 0 running)
2299:  (18:18:51) �[32m[14,596 / 14,597]�[0m 1604 / 1605 tests;�[0m Testing //rb/spec/integration/selenium/webdriver/firefox:driver-firefox-beta; 8s remote, remote-cache
2300:  (18:18:56) �[32m[14,596 / 14,597]�[0m 1604 / 1605 tests;�[0m Testing //rb/spec/integration/selenium/webdriver/firefox:driver-firefox-beta; 13s remote, remote-cache
2301:  (18:19:24) �[32m[14,596 / 14,597]�[0m 1604 / 1605 tests;�[0m Testing //rb/spec/integration/selenium/webdriver/firefox:driver-firefox-beta; 41s remote, remote-cache
2302:  (18:19:28) �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver/firefox:driver-firefox-beta (see /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/firefox/driver-firefox-beta/test_attempts/attempt_1.log)
2303:  (18:19:31) �[32m[14,596 / 14,597]�[0m 1604 / 1605 tests;�[0m Testing //rb/spec/integration/selenium/webdriver/firefox:driver-firefox-beta; 48s remote, remote-cache
2304:  (18:20:06) �[32m[14,596 / 14,597]�[0m 1604 / 1605 tests;�[0m Testing //rb/spec/integration/selenium/webdriver/firefox:driver-firefox-beta; 83s remote, remote-cache
2305:  (18:20:07) �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver/firefox:driver-firefox-beta (see /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/firefox/driver-firefox-beta/test.log)
2306:  �[31m�[1mFAILED: �[0m//rb/spec/integration/selenium/webdriver/firefox:driver-firefox-beta (Summary)
...

2318:  Selenium::WebDriver::Firefox::Driver
2319:  can get and set context
2320:  #print_options
2321:  returns base64 for print command
2322:  prints with orientation
2323:  prints with valid params
2324:  prints full page
2325:  #install_addon
2326:  install and uninstall xpi file (FAILED - 1)
2327:  install and uninstall signed zip file (FAILED - 2)
2328:  install and uninstall unsigned zip file
2329:  install and uninstall signed directory (FAILED - 3)
2330:  install and uninstall unsigned directory
2331:  Failures:
2332:  1) Selenium::WebDriver::Firefox::Driver#install_addon install and uninstall xpi file
2333:  Failure/Error: id = driver.install_addon(ext)
2334:  Selenium::WebDriver::Error::UnknownError:
2335:  Could not install add-on: /tmp/addon-2796703e-bfbe-4838-8deb-a1c8850c8e81.xpi: ERROR_CORRUPT_FILE: The file appears to be corrupt.
2336:  # RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
2337:  # WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:193:5
2338:  # UnknownError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:832:5
...

2343:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:101:in `create_response'
2344:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request'
2345:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:67:in `call'
2346:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:630:in `execute'
2347:  # ./rb/lib/selenium/webdriver/firefox/features.rb:49:in `install_addon'
2348:  # ./rb/lib/selenium/webdriver/common/driver_extensions/has_addons.rb:33:in `install_addon'
2349:  # ./rb/spec/integration/selenium/webdriver/firefox/driver_spec.rb:68:in `block in Firefox'
2350:  2) Selenium::WebDriver::Firefox::Driver#install_addon install and uninstall signed zip file
2351:  Failure/Error: id = driver.install_addon(ext)
2352:  Selenium::WebDriver::Error::UnknownError:
2353:  Could not install add-on: /tmp/addon-7bbeafb7-6551-49f4-b040-38ad44b90a1d.xpi: ERROR_CORRUPT_FILE: The file appears to be corrupt.
2354:  # RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
2355:  # WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:193:5
2356:  # UnknownError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:832:5
...

2361:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:101:in `create_response'
2362:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request'
2363:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:67:in `call'
2364:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:630:in `execute'
2365:  # ./rb/lib/selenium/webdriver/firefox/features.rb:49:in `install_addon'
2366:  # ./rb/lib/selenium/webdriver/common/driver_extensions/has_addons.rb:33:in `install_addon'
2367:  # ./rb/spec/integration/selenium/webdriver/firefox/driver_spec.rb:83:in `block in Firefox'
2368:  3) Selenium::WebDriver::Firefox::Driver#install_addon install and uninstall signed directory
2369:  Failure/Error: id = driver.install_addon(ext)
2370:  Selenium::WebDriver::Error::UnknownError:
2371:  Could not install add-on: /tmp/addon-e8a97ce1-d7cb-452e-9aa9-df32d86b435a.xpi: ERROR_CORRUPT_FILE: The file appears to be corrupt.
2372:  # RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
2373:  # WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:193:5
2374:  # UnknownError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:832:5
...

2379:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:101:in `create_response'
2380:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request'
2381:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:67:in `call'
2382:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:630:in `execute'
2383:  # ./rb/lib/selenium/webdriver/firefox/features.rb:49:in `install_addon'
2384:  # ./rb/lib/selenium/webdriver/common/driver_extensions/has_addons.rb:33:in `install_addon'
2385:  # ./rb/spec/integration/selenium/webdriver/firefox/driver_spec.rb:114:in `block in Firefox'
2386:  Finished in 28.51 seconds (files took 1.81 seconds to load)
2387:  10 examples, 3 failures
2388:  Failed examples:
...

2402:  Selenium::WebDriver::Firefox::Driver
2403:  can get and set context
2404:  #print_options
2405:  returns base64 for print command
2406:  prints with orientation
2407:  prints with valid params
2408:  prints full page
2409:  #install_addon
2410:  install and uninstall xpi file (FAILED - 1)
2411:  install and uninstall signed zip file (FAILED - 2)
2412:  install and uninstall unsigned zip file
2413:  install and uninstall signed directory (FAILED - 3)
2414:  install and uninstall unsigned directory
2415:  Failures:
2416:  1) Selenium::WebDriver::Firefox::Driver#install_addon install and uninstall xpi file
2417:  Failure/Error: id = driver.install_addon(ext)
2418:  Selenium::WebDriver::Error::UnknownError:
2419:  Could not install add-on: /tmp/addon-08acd26b-895f-477f-8519-815cbf3933b3.xpi: ERROR_CORRUPT_FILE: The file appears to be corrupt.
2420:  # RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
2421:  # WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:193:5
2422:  # UnknownError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:832:5
...

2427:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:101:in `create_response'
2428:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request'
2429:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:67:in `call'
2430:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:630:in `execute'
2431:  # ./rb/lib/selenium/webdriver/firefox/features.rb:49:in `install_addon'
2432:  # ./rb/lib/selenium/webdriver/common/driver_extensions/has_addons.rb:33:in `install_addon'
2433:  # ./rb/spec/integration/selenium/webdriver/firefox/driver_spec.rb:68:in `block in Firefox'
2434:  2) Selenium::WebDriver::Firefox::Driver#install_addon install and uninstall signed zip file
2435:  Failure/Error: id = driver.install_addon(ext)
2436:  Selenium::WebDriver::Error::UnknownError:
2437:  Could not install add-on: /tmp/addon-8815f2b0-0507-48bd-ba96-e66379a929fe.xpi: ERROR_CORRUPT_FILE: The file appears to be corrupt.
2438:  # RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
2439:  # WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:193:5
2440:  # UnknownError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:832:5
...

2445:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:101:in `create_response'
2446:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request'
2447:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:67:in `call'
2448:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:630:in `execute'
2449:  # ./rb/lib/selenium/webdriver/firefox/features.rb:49:in `install_addon'
2450:  # ./rb/lib/selenium/webdriver/common/driver_extensions/has_addons.rb:33:in `install_addon'
2451:  # ./rb/spec/integration/selenium/webdriver/firefox/driver_spec.rb:83:in `block in Firefox'
2452:  3) Selenium::WebDriver::Firefox::Driver#install_addon install and uninstall signed directory
2453:  Failure/Error: id = driver.install_addon(ext)
2454:  Selenium::WebDriver::Error::UnknownError:
2455:  Could not install add-on: /tmp/addon-8421f792-2991-4e82-97ec-16f1fd6b7c56.xpi: ERROR_CORRUPT_FILE: The file appears to be corrupt.
2456:  # RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
2457:  # WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:193:5
2458:  # UnknownError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:832:5
...

2463:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:101:in `create_response'
2464:  # ./rb/lib/selenium/webdriver/remote/http/default.rb:103:in `request'
2465:  # ./rb/lib/selenium/webdriver/remote/http/common.rb:67:in `call'
2466:  # ./rb/lib/selenium/webdriver/remote/bridge.rb:630:in `execute'
2467:  # ./rb/lib/selenium/webdriver/firefox/features.rb:49:in `install_addon'
2468:  # ./rb/lib/selenium/webdriver/common/driver_extensions/has_addons.rb:33:in `install_addon'
2469:  # ./rb/spec/integration/selenium/webdriver/firefox/driver_spec.rb:114:in `block in Firefox'
2470:  Finished in 26.75 seconds (files took 1.86 seconds to load)
2471:  10 examples, 3 failures
2472:  Failed examples:
2473:  rspec ./rb/spec/integration/selenium/webdriver/firefox/driver_spec.rb:66 # Selenium::WebDriver::Firefox::Driver#install_addon install and uninstall xpi file
2474:  rspec ./rb/spec/integration/selenium/webdriver/firefox/driver_spec.rb:81 # Selenium::WebDriver::Firefox::Driver#install_addon install and uninstall signed zip file
2475:  rspec ./rb/spec/integration/selenium/webdriver/firefox/driver_spec.rb:111 # Selenium::WebDriver::Firefox::Driver#install_addon install and uninstall signed directory
2476:  Execution result: https://gypsum.cluster.engflow.com/actions/executions/ChAswq2bGABMjqeP7cNBHY8dEgdkZWZhdWx0GiUKIGZYPX06yXS8t8swNrP_YmQzbYW925o_dnnSEG8lhM99EJ8D
2477:  ================================================================================
2478:  (18:20:07) �[32mINFO: �[0mFound 1605 test targets...
2479:  (18:20:07) �[32mINFO: �[0mElapsed time: 251.705s, Critical Path: 91.60s
2480:  (18:20:07) �[32mINFO: �[0m14018 processes: 7288 remote cache hit, 6677 internal, 49 local, 4 remote.
2481:  (18:20:07) �[32mINFO: �[0mBuild completed, 1 test FAILED, 14018 total actions
...

2553:  //dotnet/test/common:ElementFindingTest-edge                    �[0m�[32m(cached) PASSED�[0m in 33.7s
2554:  //dotnet/test/common:ElementFindingTest-firefox                 �[0m�[32m(cached) PASSED�[0m in 39.5s
2555:  //dotnet/test/common:ElementPropertyTest-chrome                 �[0m�[32m(cached) PASSED�[0m in 6.3s
2556:  //dotnet/test/common:ElementPropertyTest-edge                   �[0m�[32m(cached) PASSED�[0m in 7.8s
2557:  //dotnet/test/common:ElementPropertyTest-firefox                �[0m�[32m(cached) PASSED�[0m in 21.8s
2558:  //dotnet/test/common:ElementSelectingTest-chrome                �[0m�[32m(cached) PASSED�[0m in 12.8s
2559:  //dotnet/test/common:ElementSelectingTest-edge                  �[0m�[32m(cached) PASSED�[0m in 15.5s
2560:  //dotnet/test/common:ElementSelectingTest-firefox               �[0m�[32m(cached) PASSED�[0m in 22.3s
2561:  //dotnet/test/common:ErrorsTest-chrome                          �[0m�[32m(cached) PASSED�[0m in 7.8s
2562:  //dotnet/test/common:ErrorsTest-edge                            �[0m�[32m(cached) PASSED�[0m in 8.0s
2563:  //dotnet/test/common:ErrorsTest-firefox                         �[0m�[32m(cached) PASSED�[0m in 12.7s
...

2890:  //java/test/org/openqa/selenium:ElementFindingTest-edge         �[0m�[32m(cached) PASSED�[0m in 100.3s
2891:  //java/test/org/openqa/selenium:ElementFindingTest-firefox-beta �[0m�[32m(cached) PASSED�[0m in 42.3s
2892:  //java/test/org/openqa/selenium:ElementFindingTest-spotbugs     �[0m�[32m(cached) PASSED�[0m in 8.8s
2893:  //java/test/org/openqa/selenium:ElementSelectingTest            �[0m�[32m(cached) PASSED�[0m in 31.0s
2894:  //java/test/org/openqa/selenium:ElementSelectingTest-chrome     �[0m�[32m(cached) PASSED�[0m in 20.2s
2895:  //java/test/org/openqa/selenium:ElementSelectingTest-edge       �[0m�[32m(cached) PASSED�[0m in 29.2s
2896:  //java/test/org/openqa/selenium:ElementSelectingTest-firefox-beta �[0m�[32m(cached) PASSED�[0m in 33.0s
2897:  //java/test/org/openqa/selenium:ElementSelectingTest-spotbugs   �[0m�[32m(cached) PASSED�[0m in 8.8s
2898:  //java/test/org/openqa/selenium:ErrorsTest                      �[0m�[32m(cached) PASSED�[0m in 13.0s
2899:  //java/test/org/openqa/selenium:ErrorsTest-chrome               �[0m�[32m(cached) PASSED�[0m in 11.4s
2900:  //java/test/org/openqa/selenium:ErrorsTest-edge                 �[0m�[32m(cached) PASSED�[0m in 10.7s
2901:  //java/test/org/openqa/selenium:ErrorsTest-firefox-beta         �[0m�[32m(cached) PASSED�[0m in 17.0s
2902:  //java/test/org/openqa/selenium:ErrorsTest-spotbugs             �[0m�[32m(cached) PASSED�[0m in 8.3s
...

3603:  //java/test/org/openqa/selenium/os:ExternalProcessTest          �[0m�[32m(cached) PASSED�[0m in 2.8s
3604:  //java/test/org/openqa/selenium/os:ExternalProcessTest-spotbugs �[0m�[32m(cached) PASSED�[0m in 9.2s
3605:  //java/test/org/openqa/selenium/os:OsProcessTest                �[0m�[32m(cached) PASSED�[0m in 4.4s
3606:  //java/test/org/openqa/selenium/os:OsProcessTest-spotbugs       �[0m�[32m(cached) PASSED�[0m in 10.0s
3607:  //java/test/org/openqa/selenium/remote:AugmenterTest            �[0m�[32m(cached) PASSED�[0m in 6.0s
3608:  //java/test/org/openqa/selenium/remote:AugmenterTest-spotbugs   �[0m�[32m(cached) PASSED�[0m in 11.9s
3609:  //java/test/org/openqa/selenium/remote:DesiredCapabilitiesTest  �[0m�[32m(cached) PASSED�[0m in 2.0s
3610:  //java/test/org/openqa/selenium/remote:DesiredCapabilitiesTest-spotbugs �[0m�[32m(cached) PASSED�[0m in 10.4s
3611:  //java/test/org/openqa/selenium/remote:ErrorCodecTest           �[0m�[32m(cached) PASSED�[0m in 2.9s
3612:  //java/test/org/openqa/selenium/remote:ErrorCodecTest-spotbugs  �[0m�[32m(cached) PASSED�[0m in 9.2s
3613:  //java/test/org/openqa/selenium/remote:ErrorHandlerTest         �[0m�[32m(cached) PASSED�[0m in 2.4s
3614:  //java/test/org/openqa/selenium/remote:ErrorHandlerTest-spotbugs �[0m�[32m(cached) PASSED�[0m in 11.6s
...

3924:  //py:common-firefox-test/selenium/webdriver/support/relative_by_tests.py �[0m�[32m(cached) PASSED�[0m in 7.3s
3925:  //py:test-chrome-test/selenium/webdriver/chrome/chrome_network_emulation_tests.py �[0m�[32m(cached) PASSED�[0m in 4.3s
3926:  //py:unit-test/unit/selenium/webdriver/chrome/chrome_options_tests.py �[0m�[32m(cached) PASSED�[0m in 2.5s
3927:  //py:unit-test/unit/selenium/webdriver/common/cdp_module_fallback_tests.py �[0m�[32m(cached) PASSED�[0m in 3.9s
3928:  //py:unit-test/unit/selenium/webdriver/common/common_options_tests.py �[0m�[32m(cached) PASSED�[0m in 3.0s
3929:  //py:unit-test/unit/selenium/webdriver/common/print_page_options_tests.py �[0m�[32m(cached) PASSED�[0m in 2.6s
3930:  //py:unit-test/unit/selenium/webdriver/edge/edge_options_tests.py �[0m�[32m(cached) PASSED�[0m in 2.4s
3931:  //py:unit-test/unit/selenium/webdriver/firefox/firefox_options_tests.py �[0m�[32m(cached) PASSED�[0m in 2.4s
3932:  //py:unit-test/unit/selenium/webdriver/remote/error_handler_tests.py �[0m�[32m(cached) PASSED�[0m in 2.8s
...

3944:  //rb/spec/integration/selenium/webdriver:action_builder-firefox-beta �[0m�[32m(cached) PASSED�[0m in 59.2s
3945:  //rb/spec/integration/selenium/webdriver:driver-chrome          �[0m�[32m(cached) PASSED�[0m in 42.5s
3946:  //rb/spec/integration/selenium/webdriver:driver-edge            �[0m�[32m(cached) PASSED�[0m in 40.8s
3947:  //rb/spec/integration/selenium/webdriver:driver-firefox         �[0m�[32m(cached) PASSED�[0m in 65.6s
3948:  //rb/spec/integration/selenium/webdriver:driver-firefox-beta    �[0m�[32m(cached) PASSED�[0m in 59.0s
3949:  //rb/spec/integration/selenium/webdriver:element-edge           �[0m�[32m(cached) PASSED�[0m in 40.4s
3950:  //rb/spec/integration/selenium/webdriver:element-firefox        �[0m�[32m(cached) PASSED�[0m in 38.7s
3951:  //rb/spec/integration/selenium/webdriver:element-firefox-beta   �[0m�[32m(cached) PASSED�[0m in 44.7s
3952:  //rb/spec/integration/selenium/webdriver:error-chrome           �[0m�[32m(cached) PASSED�[0m in 19.8s
3953:  //rb/spec/integration/selenium/webdriver:error-edge             �[0m�[32m(cached) PASSED�[0m in 19.4s
3954:  //rb/spec/integration/selenium/webdriver:error-firefox          �[0m�[32m(cached) PASSED�[0m in 19.7s
3955:  //rb/spec/integration/selenium/webdriver:error-firefox-beta     �[0m�[32m(cached) PASSED�[0m in 24.2s
...

4079:  //rb/spec/unit/selenium/webdriver/remote/http:common            �[0m�[32m(cached) PASSED�[0m in 17.8s
4080:  //rb/spec/unit/selenium/webdriver/remote/http:default           �[0m�[32m(cached) PASSED�[0m in 23.4s
4081:  //rb/spec/unit/selenium/webdriver/safari:driver                 �[0m�[32m(cached) PASSED�[0m in 21.7s
4082:  //rb/spec/unit/selenium/webdriver/safari:options                �[0m�[32m(cached) PASSED�[0m in 15.9s
4083:  //rb/spec/unit/selenium/webdriver/safari:service                �[0m�[32m(cached) PASSED�[0m in 18.9s
4084:  //rb/spec/unit/selenium/webdriver/support:color                 �[0m�[32m(cached) PASSED�[0m in 17.6s
4085:  //rb/spec/unit/selenium/webdriver/support:event_firing          �[0m�[32m(cached) PASSED�[0m in 15.7s
4086:  //rb/spec/unit/selenium/webdriver/support:select                �[0m�[32m(cached) PASSED�[0m in 23.0s
4087:  //rb/spec/integration/selenium/webdriver/firefox:driver-firefox-beta     �[0m�[31m�[1mFAILED�[0m in 2 out of 2 in 39.7s
4088:  Stats over 2 runs: max = 39.7s, min = 37.3s, avg = 38.5s, dev = 1.2s
4089:  /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/firefox/driver-firefox-beta/test.log
4090:  /home/runner/.bazel/execroot/_main/bazel-out/k8-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/firefox/driver-firefox-beta/test_attempts/attempt_1.log
4091:  Executed 1 out of 1605 tests: 1604 tests pass and �[0m�[31m�[1m1 fails remotely�[0m.
4092:  There were tests whose specified size is too big. Use the --test_verbose_timeout_warnings command line option to see which ones these are.
4093:  (18:20:08) �[32mINFO: �[0mStreaming build results to: https://gypsum.cluster.engflow.com/invocation/4fe9ea08-78c1-4bf0-88b4-f44519d36214
4094:  �[0m
4095:  ##[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.

@diemol diemol added this to the 4.22 milestone May 17, 2024
@diemol diemol merged commit 95cd6f5 into trunk May 17, 2024
11 of 13 checks passed
@diemol diemol deleted the sm_mixed_output branch May 17, 2024 18:26
@aguspe aguspe mentioned this pull request Jun 25, 2024
8 tasks
sandeepsuryaprasad pushed a commit to sandeepsuryaprasad/selenium that referenced this pull request Oct 29, 2024
…nimal JSON to stdout) (SeleniumHQ#13414)

* [rust] Include mixed output (INFO, WARN, DEBUG, etc. to stderr and minimal JSON to stdout)

* [rust] Include field for error message in the minimal JSON

* [rust] Change field message to error

* [rust] Fix logger module

---------

Co-authored-by: Diego Molina <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

[🚀 Feature]: [rust] Stream Selenium Manager logs to console
3 participants