Skip to content

Commit 442ef06

Browse files
Include blog post about Selenium Manager 0.4.15 (SeleniumHQ#1526)
* Include blog post about Selenium Manager 0.4.15 * Optimised images with calibre/image-actions * Move SM 0.4.15 blog picture to a separate folder --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1 parent 47dc08a commit 442ef06

File tree

2 files changed

+53
-0
lines changed

2 files changed

+53
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
---
2+
title: "Novelties in Selenium Manager 0.4.15"
3+
linkTitle: "Novelties in Selenium Manager 0.4.15"
4+
date: 2023-11-13
5+
tags: ["selenium", "manager", "firefox", "edge", "mirror", "debug"]
6+
categories: ["releases"]
7+
author: Boni García ([@boni_gg](https://twitter.com/boni_gg))
8+
description: >
9+
Selenium Manager 0.4.15 is shipped with Selenium 4.15.0. This blog post summarizes the novelties introduced in this new release.
10+
---
11+
12+
### Support for Firefox ESR
13+
Selenium Manager 0.4.15 includes support for Firefox Extended Support Release (ESR). This way, Firefox ESR can be automatically managed with Selenium using the label `esr` in the browser version. Bindings languages set this browser version (like other accepted labels for browser versions, such as `stable,` `beta,` `dev,` `canary,` and `nightly`) using a browser option called [browserVersion](https://www.selenium.dev/documentation/webdriver/drivers/options/#browserversion).
14+
15+
### Support for Edge WebView2
16+
Selenium Manager 0.4.15 allows automated driver management for [Microsoft Edge WebView2](https://developer.microsoft.com/microsoft-edge/webview2). WebView2 is a component that enables embedding web technologies (HTML, CSS, and JavaScript) in native apps, using Microsoft Edge as the rendering engine to display web content. At the time of this writing, WebView2 is available in Windows.
17+
18+
This way, Selenium Manager allows detecting WebView2 in Windows machines and resolving the proper msedgedriver binary for it. Internally, Selenium Manager uses the browser name `webview2` to handle WebView2, detecting its version based on [registry queries](https://learn.microsoft.com/en-us/microsoft-edge/webview2/concepts/distribution#detect-if-a-suitable-webview2-runtime-is-already-installed). In the bindings, WebView2 is enabled through a browser option called `useWebView`.
19+
20+
### Support for mirror repositories
21+
Selenium Manager 0.4.15 includes a couple of new arguments in Selenium Manager for specifying custom URLs for drivers and browsers (instead of the default ones, such as [chromedriver](https://chromedriver.storage.googleapis.com/), [Chrome for Testing](https://googlechromelabs.github.io/chrome-for-testing/), etc.). These arguments are:
22+
23+
- `--driver-mirror-url`: Mirror URL for driver repositories.
24+
- `--browser-mirror-url`: Mirror URL for browser repositories.
25+
26+
As usual, these values can be configured using the config file or environment variable (e.g., `SE_DRIVER_MIRROR_URL` or `SE_BROWSER_MIRROR_URL`). Moreover, there are browser and driver-specific configuration keys, i.e. `chrome-mirror-url`, `firefox-mirror-url`, `edge-mirror-url`, etc. (in the configuration file), and `SE_CHROME_MIRROR_URL`, `SE_FIREFOX_MIRROR_URL`, `SE_EDGE_MIRROR_URL`, etc. (as environment variables).
27+
28+
Here is an example of this feature calling Selenium Manager from the shell:
29+
30+
```
31+
./selenium-manager --debug --browser chrome --browser-version 100 --avoid-browser-download --driver-mirror-url=https://registry.npmmirror.com/-/binary/chromedriver/
32+
DEBUG chromedriver not found in PATH
33+
DEBUG chrome detected at C:\Program Files\Google\Chrome\Application\chrome.exe
34+
DEBUG Running command: wmic datafile where name='C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe' get Version /value
35+
DEBUG Output: "\r\r\n\r\r\nVersion=117.0.5938.150\r\r\n\r\r\n\r\r\n\r"
36+
DEBUG Detected browser: chrome 117.0.5938.150
37+
DEBUG Discovered chrome version (117) different to specified browser version (100)
38+
DEBUG Required driver: chromedriver 100.0.4896.60
39+
DEBUG Downloading chromedriver 100.0.4896.60 from https://registry.npmmirror.com/-/binary/chromedriver/100.0.4896.60/chromedriver_win32.zip
40+
INFO Driver path: C:\Users\boni\.cache\selenium\chromedriver\win64\100.0.4896.60\chromedriver.exe
41+
INFO Browser path: C:\Program Files\Google\Chrome\Application\chrome.exe
42+
```
43+
44+
### Debug release
45+
To troubleshoot Selenium Manager in complex error cases, it is interesting to capture the backtrace. But to do that, the Selenium Manager binaries must be created with the debug symbols. Since the resulting binaries with debug symbols are much larger than the default release artifacts, we generate them on demand using a custom [workflow in GitHub Actions](https://github.com/SeleniumHQ/selenium/actions/workflows/build-selenium-manager.yml). This way, we have included a checkbox in the workflow for triggering the Selenium Manager build. When this checkbox is enabled when building Selenium Manager, the debug symbols will be added to the resulting binaries (for Windows, Linux, and macOS). All in all, these binaries will be used on demand to troubleshoot complicated problems.
46+
47+
![Selenium Manager workflow screenshot](selenium-manager-workflow-debug.png)
48+
49+
### Selenium Manager in cache (only for Java bindings)
50+
As of version 4.15.0 of the Selenium Java bindings, the Selenium Manager binary is extracted and copied to the cache folder. For instance, the Selenium Manager binary shipped with Selenium 4.15.0 is stored in the folder `~/.cache/selenium/manager/0.4.15`). This feature will allow direct manipulation of Selenium Manager as a CLI tool, for instance, for troubleshooting. This feature is only available for Java bindings since Java is the only language that does not have direct access to the Selenium Manager binaries (since they are released compressed into the JAR files of the `selenium-java` artifacts).
51+
52+
### Next steps
53+
Look at [Selenium Manager documentation](https://www.selenium.dev/documentation/selenium_manager/) for a detailed description of its features. Also, you can trace the status of the development activities in the [Selenium Manager project dashboard](https://github.com/orgs/SeleniumHQ/projects/5).

0 commit comments

Comments
 (0)