<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Selenium – edge</title><link>https://trunk--polite-jelly-cc0866.netlify.app/tags/edge/</link><description>Recent content in edge on Selenium</description><generator>Hugo -- gohugo.io</generator><lastBuildDate>Mon, 13 Nov 2023 00:00:00 +0000</lastBuildDate><atom:link href="https://trunk--polite-jelly-cc0866.netlify.app/tags/edge/index.xml" rel="self" type="application/rss+xml"/><item><title>Blog: Novelties in Selenium Manager 0.4.15</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/novelties_in_selenium_manager_0.4.15/</link><pubDate>Mon, 13 Nov 2023 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/novelties_in_selenium_manager_0.4.15/</guid><description>
&lt;h3 id="support-for-firefox-esr">Support for Firefox ESR&lt;/h3>
&lt;p>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 &lt;code>esr&lt;/code> in the browser version. Bindings languages set this browser version (like other accepted labels for browser versions, such as &lt;code>stable,&lt;/code> &lt;code>beta,&lt;/code> &lt;code>dev,&lt;/code> &lt;code>canary,&lt;/code> and &lt;code>nightly&lt;/code>) using a browser option called &lt;a href="https://www.selenium.dev/documentation/webdriver/drivers/options/#browserversion">browserVersion&lt;/a>.&lt;/p>
&lt;h3 id="support-for-edge-webview2">Support for Edge WebView2&lt;/h3>
&lt;p>Selenium Manager 0.4.15 allows automated driver management for &lt;a href="https://developer.microsoft.com/microsoft-edge/webview2">Microsoft Edge WebView2&lt;/a>. 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.&lt;/p>
&lt;p>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 &lt;code>webview2&lt;/code> to handle WebView2, detecting its version based on &lt;a href="https://learn.microsoft.com/en-us/microsoft-edge/webview2/concepts/distribution#detect-if-a-suitable-webview2-runtime-is-already-installed">registry queries&lt;/a>. In the bindings, WebView2 is enabled through a browser option called &lt;code>useWebView&lt;/code>.&lt;/p>
&lt;h3 id="support-for-mirror-repositories">Support for mirror repositories&lt;/h3>
&lt;p>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 &lt;a href="https://chromedriver.storage.googleapis.com/">chromedriver&lt;/a>, &lt;a href="https://googlechromelabs.github.io/chrome-for-testing/">Chrome for Testing&lt;/a>, etc.). These arguments are:&lt;/p>
&lt;ul>
&lt;li>&lt;code>--driver-mirror-url&lt;/code>: Mirror URL for driver repositories.&lt;/li>
&lt;li>&lt;code>--browser-mirror-url&lt;/code>: Mirror URL for browser repositories.&lt;/li>
&lt;/ul>
&lt;p>As usual, these values can be configured using the config file or environment variable (e.g., &lt;code>SE_DRIVER_MIRROR_URL&lt;/code> or &lt;code>SE_BROWSER_MIRROR_URL&lt;/code>). Moreover, there are browser and driver-specific configuration keys, i.e. &lt;code>chrome-mirror-url&lt;/code>, &lt;code>firefox-mirror-url&lt;/code>, &lt;code>edge-mirror-url&lt;/code>, etc. (in the configuration file), and &lt;code>SE_CHROME_MIRROR_URL&lt;/code>, &lt;code>SE_FIREFOX_MIRROR_URL&lt;/code>, &lt;code>SE_EDGE_MIRROR_URL&lt;/code>, etc. (as environment variables).&lt;/p>
&lt;p>Here is an example of this feature calling Selenium Manager from the shell:&lt;/p>
&lt;pre tabindex="0">&lt;code>./selenium-manager --debug --browser chrome --browser-version 100 --avoid-browser-download --driver-mirror-url=https://registry.npmmirror.com/-/binary/chromedriver/
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=&amp;#39;C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe&amp;#39; get Version /value
DEBUG Output: &amp;#34;\r\r\n\r\r\nVersion=117.0.5938.150\r\r\n\r\r\n\r\r\n\r&amp;#34;
DEBUG Detected browser: chrome 117.0.5938.150
DEBUG Discovered chrome version (117) different to specified browser version (100)
DEBUG Required driver: chromedriver 100.0.4896.60
DEBUG Downloading chromedriver 100.0.4896.60 from https://registry.npmmirror.com/-/binary/chromedriver/100.0.4896.60/chromedriver_win32.zip
INFO Driver path: C:\Users\boni\.cache\selenium\chromedriver\win64\100.0.4896.60\chromedriver.exe
INFO Browser path: C:\Program Files\Google\Chrome\Application\chrome.exe
&lt;/code>&lt;/pre>&lt;h3 id="debug-release">Debug release&lt;/h3>
&lt;p>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 &lt;a href="https://github.com/SeleniumHQ/selenium/actions/workflows/build-selenium-manager.yml">workflow in GitHub Actions&lt;/a>. 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.&lt;/p>
&lt;p>&lt;img src="selenium-manager-workflow-debug.png" alt="Selenium Manager workflow screenshot">&lt;/p>
&lt;h3 id="selenium-manager-in-cache-only-for-java-bindings">Selenium Manager in cache (only for Java bindings)&lt;/h3>
&lt;p>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 &lt;code>~/.cache/selenium/manager/0.4.15&lt;/code>). 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 &lt;code>selenium-java&lt;/code> artifacts).&lt;/p>
&lt;h3 id="next-steps">Next steps&lt;/h3>
&lt;p>Look at &lt;a href="https://www.selenium.dev/documentation/selenium_manager/">Selenium Manager documentation&lt;/a> for a detailed description of its features. Also, you can trace the status of the development activities in the &lt;a href="https://github.com/orgs/SeleniumHQ/projects/5">Selenium Manager project dashboard&lt;/a>.&lt;/p></description></item><item><title>Blog: Status of Selenium Manager in October 2023</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/status_of_selenium_manager_in_october_2023/</link><pubDate>Tue, 17 Oct 2023 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2023/status_of_selenium_manager_in_october_2023/</guid><description>
&lt;p>Selenium Manager continues its development plan. As usual, in the latest releases, i.e., 0.4.13 and 0.4.14 (shipped with Selenium 4.13 and 4.14, respectively), we have fixed the problems reported so far. In these releases, the issues were related to the extraction of the Firefox binary from the self-extracting archive (SFX) in Windows and the advanced configuration through the configuration file (&lt;code>se-config.toml&lt;/code>) and environment variables (e.g., &lt;code>SE_BROWSER&lt;/code>). Moreover, these recent releases include new features, as explained below.&lt;/p>
&lt;h3 id="search-for-the-best-driver-possible-in-the-cache">Search for the best driver possible in the cache&lt;/h3>
&lt;p>By default, Selenium Manager needs to request online endpoints (such as &lt;a href="https://github.com/GoogleChromeLabs/chrome-for-testing#json-api-endpoints">Chrome for Testing JSON API&lt;/a> or &lt;a href="https://wiki.mozilla.org/Release_Management/Product_details">Firefox product-details JSON API&lt;/a>
to discover, download, and maintain the proper drivers and browsers that Selenium requires. The downloaded artifacts are stored in the cache (by default, &lt;code>~/.cache/selenium&lt;/code>) and reused from there.&lt;/p>
&lt;p>To make the driver resolution procedure more robust, as of version 0.4.13, Selenium Manager includes a new feature for locating the drivers in the cache when some error happens. This way, when a network request (or other function) fails in Selenium Manager, it tries to locate the driver in the cache. This characteristic aims to provide a best-effort solution for creating a Selenium session properly, which is the final objective of Selenium Manager. Also, this feature will help to provide a better experience for locating drivers for Selenium Grid.&lt;/p>
&lt;h3 id="locating-selenium-manager-binary-with-an-environment-variable">Locating Selenium Manager binary with an environment variable&lt;/h3>
&lt;p>The next feature related to Selenium Manager 0.4.13 has been implemented in the Selenium bindings (i.e., Java, JavaScript, Python, .Net, and Ruby). As of Selenium 4.13.0, the Selenium bindings allow locating the Selenium Manager binary using an environment variable called &lt;code>SE_MANAGER_PATH&lt;/code>. This way, if this variable is set, the bindings will use its value as the Selenium Manager path in the local filesystem. This feature will allow users to provide a custom compilation of Selenium Manager, for instance, if the default binaries (compiled for Windows, Linux, and macOS) are incompatible with a given system (e.g., ARM64 in Linux).&lt;/p>
&lt;h3 id="automated-edge-management">Automated Edge management&lt;/h3>
&lt;p>Selenium Manager 0.4.14 includes automated Edge management. This browser is the last we have in mind for this feature, after Chrome and Firefox.&lt;/p>
&lt;p>This feature has been implemented in the same way that Chrome and Firefox for macOS and Linux. In other words, Selenium Manager allows to automatically manage (i.e., discover, downloads, and cache) the latest Edge versions (i.e., stable, beta, dev, canary) and old versions (e.g., 115, 116, etc.). The downloaded binaries, as usual, are stored in the Selenium cache. The following output commands showcase this feature in macOS (first snipped) and Linux (second snippet):&lt;/p>
&lt;pre tabindex="0">&lt;code>./selenium-manager --browser edge --debug --force-browser-download
DEBUG msedgedriver not found in PATH
DEBUG Checking edge releases on https://edgeupdates.microsoft.com/api/products
DEBUG Required browser: edge 117.0.2045.40
DEBUG Downloading edge 117.0.2045.40 from https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/6e65d9ef-0bb9-4636-8d9e-2b1b9d16149d/MicrosoftEdge-117.0.2045.40.pkg
DEBUG edge 117.0.2045.40 has been downloaded at /Users/boni/.cache/selenium/edge/mac64/117.0.2045.40/Microsoft Edge.app/Contents/MacOS/Microsoft Edge
DEBUG Reading msedgedriver version from https://msedgedriver.azureedge.net/LATEST_RELEASE_117_MACOS
DEBUG Required driver: msedgedriver 117.0.2045.40
DEBUG Downloading msedgedriver 117.0.2045.40 from https://msedgedriver.azureedge.net/117.0.2045.40/edgedriver_mac64.zip
INFO Driver path: /Users/boni/.cache/selenium/msedgedriver/mac64/117.0.2045.40/msedgedriver
INFO Browser path: /Users/boni/.cache/selenium/edge/mac64/117.0.2045.40/Microsoft Edge.app/Contents/MacOS/Microsoft Edge
&lt;/code>&lt;/pre>&lt;pre tabindex="0">&lt;code>./selenium-manager --browser edge --debug --browser-version beta
DEBUG msedgedriver not found in PATH
DEBUG edge not found in PATH
DEBUG edge beta not found in the system
DEBUG Checking edge releases on https://edgeupdates.microsoft.com/api/products
DEBUG Required browser: edge 118.0.2088.11
DEBUG Downloading edge 118.0.2088.11 from https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-beta/microsoft-edge-beta_118.0.2088.11-1_amd64.deb
DEBUG edge 118.0.2088.11 has been downloaded at /home/user/.cache/selenium/edge/linux64/118.0.2088.11/msedge
DEBUG Reading msedgedriver version from https://msedgedriver.azureedge.net/LATEST_RELEASE_118_LINUX
DEBUG Required driver: msedgedriver 118.0.2088.11
DEBUG Downloading msedgedriver 118.0.2088.11 from https://msedgedriver.azureedge.net/118.0.2088.11/edgedriver_linux64.zip
INFO Driver path: /home/user/.cache/selenium/msedgedriver/linux64/118.0.2088.11/msedgedriver
INFO Browser path: /home/user/.cache/selenium/edge/linux64/118.0.2088.11/msedge
&lt;/code>&lt;/pre>&lt;p>Nevertheless, this feature cannot be implemented similarly for Windows. The reason is that the Edge installer for Windows is distributed as a Microsoft Installer (MSI) file, designed to be executed with administrator rights. We tried to extract the Edge binaries from that MSI file. Still, it seems not possible (see &lt;a href="https://stackoverflow.com/questions/77132922/extract-parse-resources-from-portable-executable-pe-file">Stack Overflow post that summarized the problem&lt;/a>). All in all, the only solution we found is to install Edge in Windows using the MSI installer, and so, administrator grants are required.&lt;/p>
&lt;p>This way, when Edge is attempted to be installed with Selenium Manager in Windows with a non-administrator session, a warning message will be displayed as follows:&lt;/p>
&lt;pre tabindex="0">&lt;code>./selenium-manager --debug --browser edge --browser-version beta
DEBUG msedgedriver not found in PATH
DEBUG edge not found in PATH
DEBUG edge beta not found in the system
WARN There was an error managing edge (edge can only be installed in Windows with administrator permissions); using driver found in the cache
INFO Driver path: C:\Users\boni\.cache\selenium\msedgedriver\win64\118.0.2088.17\msedgedriver.exe
&lt;/code>&lt;/pre>&lt;p>But when Selenium Manager is executed with administrator grants in Windows, it will be able to automatically discover, download, and install Edge (stable, beta, dev, canary, and older versions):&lt;/p>
&lt;pre tabindex="0">&lt;code>./selenium-manager --debug --browser edge --browser-version beta
DEBUG msedgedriver not found in PATH
DEBUG edge not found in PATH
DEBUG edge beta not found in the system
DEBUG Checking edge releases on https://edgeupdates.microsoft.com/api/products
DEBUG Required browser: edge 118.0.2088.17
DEBUG Downloading edge 118.0.2088.17 from https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/7adec542-f34c-4dea-8e2a-f8c6fab4d2f3/MicrosoftEdgeBetaEnterpriseX64.msi
DEBUG Installing MicrosoftEdgeBetaEnterpriseX64.msi
DEBUG edge 118.0.2088.17 is available at C:\Program Files (x86)\Microsoft\Edge Beta\Application\msedge.exe
DEBUG Required driver: msedgedriver 118.0.2088.17
DEBUG msedgedriver 118.0.2088.17 already in the cache
INFO Driver path: C:\Users\boni\.cache\selenium\msedgedriver\win64\118.0.2088.17\msedgedriver.exe
INFO Browser path: C:\Program Files (x86)\Microsoft\Edge Beta\Application\msedge.exe
&lt;/code>&lt;/pre>&lt;h3 id="chromium-support">Chromium support&lt;/h3>
&lt;p>Chromium is released as portable binaries, distributed as zip files for Windows, Linux, and macOS (see &lt;a href="https://www.chromium.org/getting-involved/download-chromium/">Chromium download page&lt;/a>). Nevertheless, there is a case in which Chromium is actually installed in the system. This happens in Linux systems when installing Chromium through package managers like &lt;code>atp&lt;/code> or &lt;code>snap&lt;/code>, for instance, as follows:&lt;/p>
&lt;pre tabindex="0">&lt;code>sudo snap install chromium
&lt;/code>&lt;/pre>&lt;p>Therefore, as of 0.4.14, Selenium Manager looks for the Chromium binaries in the PATH when Chrome is not discovered. The following snippet showcases how this feature works in a Linux machine in which Chrome is not available, but Chromium has been installed through &lt;code>snap&lt;/code>:&lt;/p>
&lt;pre tabindex="0">&lt;code>./selenium-manager --browser chrome --debug
DEBUG chromedriver not found in PATH
DEBUG Found chromium in PATH: /snap/bin/chromium
DEBUG Running command: /snap/bin/chromium --version
DEBUG Output: &amp;#34;Chromium 117.0.5938.149 snap&amp;#34;
DEBUG Detected browser: chrome 117.0.5938.149
DEBUG Required driver: chromedriver 117.0.5938.149
DEBUG chromedriver 117.0.5938.149 already in the cache
INFO Driver path: /home/user/.cache/selenium/chromedriver/linux64/117.0.5938.149/chromedriver
INFO Browser path: /snap/bin/chromium
&lt;/code>&lt;/pre>&lt;h3 id="next-steps">Next steps&lt;/h3>
&lt;p>We are close to implementing all the features initially planned for Selenium Manager. You can trace the status of the development activities in the &lt;a href="https://github.com/orgs/SeleniumHQ/projects/5">Selenium Manager project dashboard&lt;/a>.&lt;/p></description></item><item><title>Blog: Dev and Beta Channel Browsers via Docker Selenium</title><link>https://trunk--polite-jelly-cc0866.netlify.app/blog/2022/dev-and-beta-channel-browsers-via-docker-selenium/</link><pubDate>Tue, 23 Aug 2022 00:00:00 +0000</pubDate><guid>https://trunk--polite-jelly-cc0866.netlify.app/blog/2022/dev-and-beta-channel-browsers-via-docker-selenium/</guid><description>
&lt;p>The Docker Selenium browser Beta and Dev channel releases are now regularly published to &lt;a href="https://hub.docker.com/u/selenium">Docker Hub&lt;/a> and updated every two days. This enables testers and developers to test their applications on pre-release versions of Google Chrome, Mozilla Firefox, and Microsoft Edge before their official releases, using container tools, such as Docker. This empowers teams to stay ahead of the curve and catch potential showstoppers in their CI environment &lt;em>before&lt;/em> those issues have an impact on their users.&lt;/p>
&lt;h3 id="what-are-release-channels">What are &amp;ldquo;release channels&amp;rdquo;?&lt;/h3>
&lt;p>Here&amp;rsquo;s some background on release channels: Google, Mozilla, and Microsoft all maintain different &amp;ldquo;channels&amp;rdquo; for their respective browser releases. Most end users use the &amp;ldquo;Stable&amp;rdquo; channel. The Stable channel releases have passed rigorous testing, and these versions are considered &amp;ldquo;production-ready&amp;rdquo;. Up until now, this was the only option for a tester or developer when using Docker Selenium. Today, we&amp;rsquo;re pleased to announce teams can also test on versions of these browsers yet to be released to the general population. These are the Beta and Dev channels.&lt;/p>
&lt;p>For clarity, here is Google&amp;rsquo;s description of these 3 channels from &lt;a href="https://www.chromium.org/getting-involved/dev-channel/">their &amp;ldquo;Chrome Release Channels&amp;rdquo; page&lt;/a>:&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Stable channel:&lt;/strong> This channel has gotten the full testing and blessing of the Chrome test team, and is the best bet to avoid crashes and other issues. It&amp;rsquo;s updated roughly every two-three weeks for minor releases, and every 6 weeks for major releases.&lt;/p>
&lt;/blockquote>
&lt;blockquote>
&lt;p>&lt;strong>Beta channel:&lt;/strong> If you are interested in seeing what&amp;rsquo;s next, with minimal risk, Beta channel is the place to be. It&amp;rsquo;s updated every week roughly, with major updates coming every six weeks, more than a month before the Stable channel will get them.&lt;/p>
&lt;/blockquote>
&lt;blockquote>
&lt;p>&lt;strong>Dev channel:&lt;/strong> If you want to see what&amp;rsquo;s happening quickly, then you want the Dev channel. The Dev channel gets updated once or twice weekly, and it shows what we&amp;rsquo;re working on right now. There&amp;rsquo;s no lag between major versions, whatever code we&amp;rsquo;ve got, you will get. While this build does get tested, it is still subject to bugs, as we want people to see what&amp;rsquo;s new as soon as possible.&lt;/p>
&lt;/blockquote>
&lt;h3 id="standalone-usage">Standalone Usage:&lt;/h3>
&lt;p>To use these new Docker Selenium container images in Standalone mode, run the following commands:&lt;/p>
&lt;p>&lt;strong>Chrome Beta:&lt;/strong>&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>$ docker run --rm -it -p 4444:4444 -p 7900:7900 --shm-size 2g selenium/standalone-chrome:beta
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;strong>Chrome Dev:&lt;/strong>&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>$ docker run --rm -it -p 4444:4444 -p 7900:7900 --shm-size 2g selenium/standalone-chrome:dev
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;strong>Firefox Beta:&lt;/strong>&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>$ docker run --rm -it -p 4444:4444 -p 7900:7900 --shm-size 2g selenium/standalone-firefox:beta
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;strong>Firefox Dev:&lt;/strong>&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>$ docker run --rm -it -p 4444:4444 -p 7900:7900 --shm-size 2g selenium/standalone-firefox:dev
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;strong>Edge Beta:&lt;/strong>&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>$ docker run --rm -it -p 4444:4444 -p 7900:7900 --shm-size 2g selenium/standalone-edge:beta
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;strong>Edge Dev:&lt;/strong>&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>$ docker run --rm -it -p 4444:4444 -p 7900:7900 --shm-size 2g selenium/standalone-edge:dev
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="selenium-grid">Selenium Grid&lt;/h3>
&lt;p>To run these container images in a Selenium Grid, we&amp;rsquo;ll use docker-compose. For instance, this example shows how to run a Selenium Grid with Chrome, Firefox, and Edge on the Beta channel:&lt;/p>
&lt;p>&lt;strong>docker-compose-v3-beta-channel.yml:&lt;/strong>&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic"># To execute this docker-compose yml file use `docker-compose -f docker-compose-v3-beta-channel.yml up`&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic"># Add the `-d` flag at the end for detached execution&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic"># To stop the execution, hit Ctrl+C, and then `docker-compose -f docker-compose-v3-beta-channel.yml down`&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>version: &lt;span style="color:#4e9a06">&amp;#34;3&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>services:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> chrome:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> image: selenium/node-chrome:beta
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> shm_size: 2gb
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> depends_on:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - selenium-hub
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> environment:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#000">SE_EVENT_BUS_HOST&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span>selenium-hub
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#000">SE_EVENT_BUS_PUBLISH_PORT&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span>&lt;span style="color:#0000cf;font-weight:bold">4442&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#000">SE_EVENT_BUS_SUBSCRIBE_PORT&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span>&lt;span style="color:#0000cf;font-weight:bold">4443&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> edge:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> image: selenium/node-edge:beta
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> shm_size: 2gb
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> depends_on:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - selenium-hub
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> environment:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#000">SE_EVENT_BUS_HOST&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span>selenium-hub
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#000">SE_EVENT_BUS_PUBLISH_PORT&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span>&lt;span style="color:#0000cf;font-weight:bold">4442&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#000">SE_EVENT_BUS_SUBSCRIBE_PORT&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span>&lt;span style="color:#0000cf;font-weight:bold">4443&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> firefox:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> image: selenium/node-firefox:beta
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> shm_size: 2gb
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> depends_on:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - selenium-hub
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> environment:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#000">SE_EVENT_BUS_HOST&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span>selenium-hub
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#000">SE_EVENT_BUS_PUBLISH_PORT&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span>&lt;span style="color:#0000cf;font-weight:bold">4442&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#000">SE_EVENT_BUS_SUBSCRIBE_PORT&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span>&lt;span style="color:#0000cf;font-weight:bold">4443&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> selenium-hub:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> image: selenium/hub:latest
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> container_name: selenium-hub
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ports:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#4e9a06">&amp;#34;4442:4442&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#4e9a06">&amp;#34;4443:4443&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#4e9a06">&amp;#34;4444:4444&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>To run on the more cutting edge &amp;ndash; and hence potentially more buggy &amp;ndash; Dev channel, simply replace the &amp;ldquo;beta&amp;rdquo; tags with &amp;ldquo;dev&amp;rdquo;.&lt;/p>
&lt;h3 id="support">Support&lt;/h3>
&lt;p>These Beta and Dev images represent pre-release browsers and WebDrivers, and they&amp;rsquo;re not guaranteed to be 100% stable. Should you run into any issues with these images, support from the Selenium community is limited and is dependent on the browser vendors. However, if you believe the issue is related to Selenium, please contact us in the &lt;a href="https://trunk--polite-jelly-cc0866.netlify.app/support/">various support channels&lt;/a>.&lt;/p></description></item></channel></rss>