Skip to content

Commit d4bb4e8

Browse files
committed
Added Selenium Manager Code Examples (#1870)
* added setup and teardown python examples to Organizing and Executing Selenium Code * added examples for selenium manager to documentation [deploy site] bc67d34
1 parent 50b9385 commit d4bb4e8

File tree

13 files changed

+133
-29
lines changed

13 files changed

+133
-29
lines changed

documentation/_print/index.html

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9259,7 +9259,20 @@
92599259
DEBUG Downloading chromedriver 117.0.5938.22 from https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/117.0.5938.22/win64/chromedriver-win64.zip
92609260
INFO Driver path: C:\Users\boni\.cache\selenium\chromedriver\win64\117.0.5938.22\chromedriver.exe
92619261
INFO Browser path: C:\Users\boni\.cache\selenium\chrome\win64\117.0.5938.22\chrome.exe
9262-
</code></pre><h2 id=selenium-grid>Selenium Grid</h2><p>Selenium Manager allows you to configure the drivers automatically when setting up Selenium Grid. To that aim, you need to include the argument <code>--selenium-manager true</code> in the command to start Selenium Grid. For more details, visit the <a href=https://www.selenium.dev/documentation/grid/getting_started/>Selenium Grid starting page</a>.</p><p>Moreover, Selenium Manager also allows managing Selenium Grid releases automatically. For that, the argument <code>--grid</code> is used as follows:</p><pre tabindex=0><code>$ ./selenium-manager --grid
9262+
</code></pre><h3 id=implementing-selenium-manager-in-your-scripts>Implementing Selenium Manager in Your Scripts</h3><ul class="nav nav-tabs" id=tabs-0 role=tablist><li class=nav-item><button class="nav-link active" id=tabs-00-00-tab data-bs-toggle=tab data-bs-target=#tabs-00-00 role=tab data-td-tp-persist=java aria-controls=tabs-00-00 aria-selected=true>
9263+
Java</button></li><li class=nav-item><button class=nav-link id=tabs-00-01-tab data-bs-toggle=tab data-bs-target=#tabs-00-01 role=tab data-td-tp-persist=python aria-controls=tabs-00-01 aria-selected=false>
9264+
Python</button></li><li class=nav-item><button class=nav-link id=tabs-00-02-tab data-bs-toggle=tab data-bs-target=#tabs-00-02 role=tab data-td-tp-persist=csharp aria-controls=tabs-00-02 aria-selected=false>
9265+
CSharp</button></li><li class=nav-item><button class=nav-link id=tabs-00-03-tab data-bs-toggle=tab data-bs-target=#tabs-00-03 role=tab data-td-tp-persist=ruby aria-controls=tabs-00-03 aria-selected=false>
9266+
Ruby</button></li><li class=nav-item><button class=nav-link id=tabs-00-04-tab data-bs-toggle=tab data-bs-target=#tabs-00-04 role=tab data-td-tp-persist=javascript aria-controls=tabs-00-04 aria-selected=false>
9267+
JavaScript</button></li><li class=nav-item><button class=nav-link id=tabs-00-05-tab data-bs-toggle=tab data-bs-target=#tabs-00-05 role=tab data-td-tp-persist=kotlin aria-controls=tabs-00-05 aria-selected=false>
9268+
Kotlin</button></li></ul><div class=tab-content id=tabs-0-content><div class="tab-body tab-pane fade show active" id=tabs-00-00 role=tabpanel aria-labelled-by=tabs-00-00-tab tabindex=0></div><div class="tab-body tab-pane fade" id=tabs-00-01 role=tabpanel aria-labelled-by=tabs-00-01-tab tabindex=0><p><strong>Previously</strong></p><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-py data-lang=py><span style=display:flex><span><span style=color:#204a87;font-weight:700>def</span> <span style=color:#000>setup_without_selenium_manager</span><span style=color:#000;font-weight:700>():</span>
9269+
</span></span><span style=display:flex><span> <span style=color:#000>chrome_service</span> <span style=color:#ce5c00;font-weight:700>=</span> <span style=color:#000>Service</span><span style=color:#000;font-weight:700>(</span><span style=color:#000>executable_path</span><span style=color:#ce5c00;font-weight:700>=</span><span style=color:#4e9a06>&#39;path/to/chrome.exe&#39;</span><span style=color:#000;font-weight:700>)</span>
9270+
</span></span><span style=display:flex><span> <span style=color:#000>driver</span> <span style=color:#ce5c00;font-weight:700>=</span> <span style=color:#000>webdriver</span><span style=color:#ce5c00;font-weight:700>.</span><span style=color:#000>Chrome</span><span style=color:#000;font-weight:700>(</span><span style=color:#000>chrome_service</span><span style=color:#000;font-weight:700>)</span>
9271+
</span></span><span style=display:flex><span> <span style=color:#204a87;font-weight:700>return</span> <span style=color:#000>driver</span></span></span></code></pre></div><div class="text-end pb-2"><a href=https://github.com/SeleniumHQ/seleniumhq.github.io/blob/trunk/examples/python/tests/selenium_manager/usage.py#L5-L8 target=_blank><i class="fas fa-external-link-alt pl-2"></i>
9272+
<strong>View full example on GitHub</strong></a></div><p><strong>Selenium Manager</strong></p><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-py data-lang=py><span style=display:flex><span><span style=color:#204a87;font-weight:700>def</span> <span style=color:#000>setup_with_selenium_manager</span><span style=color:#000;font-weight:700>():</span>
9273+
</span></span><span style=display:flex><span> <span style=color:#000>driver</span> <span style=color:#ce5c00;font-weight:700>=</span> <span style=color:#000>webdriver</span><span style=color:#ce5c00;font-weight:700>.</span><span style=color:#000>Chrome</span><span style=color:#000;font-weight:700>()</span>
9274+
</span></span><span style=display:flex><span> <span style=color:#204a87;font-weight:700>return</span> <span style=color:#000>driver</span></span></span></code></pre></div><div class="text-end pb-2"><a href=https://github.com/SeleniumHQ/seleniumhq.github.io/blob/trunk/examples/python/tests/selenium_manager/usage.py#L10-L12 target=_blank><i class="fas fa-external-link-alt pl-2"></i>
9275+
<strong>View full example on GitHub</strong></a></div><p><a href=/documentation/about/contributing/#creating-examples><span class=selenium-badge-code data-bs-toggle=tooltip data-bs-placement=right title="This code example is missing. Examples are added to the examples directory; click for details in the contribution guide">Add Example</span></a></p></div><div class="tab-body tab-pane fade" id=tabs-00-02 role=tabpanel aria-labelled-by=tabs-00-02-tab tabindex=0></div><div class="tab-body tab-pane fade" id=tabs-00-03 role=tabpanel aria-labelled-by=tabs-00-03-tab tabindex=0></div><div class="tab-body tab-pane fade" id=tabs-00-04 role=tabpanel aria-labelled-by=tabs-00-04-tab tabindex=0></div><div class="tab-body tab-pane fade" id=tabs-00-05 role=tabpanel aria-labelled-by=tabs-00-05-tab tabindex=0><p><a href=/documentation/about/contributing/#creating-examples><span class=selenium-badge-code data-bs-toggle=tooltip data-bs-placement=right title="This code example is missing. Examples are added to the examples directory; click for details in the contribution guide">Add Example</span></a></p></div></div><h2 id=selenium-grid>Selenium Grid</h2><p>Selenium Manager allows you to configure the drivers automatically when setting up Selenium Grid. To that aim, you need to include the argument <code>--selenium-manager true</code> in the command to start Selenium Grid. For more details, visit the <a href=https://www.selenium.dev/documentation/grid/getting_started/>Selenium Grid starting page</a>.</p><p>Moreover, Selenium Manager also allows managing Selenium Grid releases automatically. For that, the argument <code>--grid</code> is used as follows:</p><pre tabindex=0><code>$ ./selenium-manager --grid
92639276
</code></pre><p>After this command, Selenium Manager discovers the latest version of Selenium Grid, storing the <code>selenium-server.jar</code> in the local cache.</p><p>Optionally, the argument <code>--grid</code> allows to specify a Selenium Grid version (<code>--grid &lt;GRID_VERSION></code>).</p><h2 id=known-limitations>Known Limitations</h2><h3 id=connectivity-issues>Connectivity issues</h3><p>Selenium Manager requests remote endpoints (like Chrome for Testing (CfT), among others) to discover and download drivers and browsers from online repositories. When this operation is done in a corporate environment with a proxy or firewall, it might lead to connectivity problems like the following:</p><pre tabindex=0><code>error sending request for url (https://googlechromelabs.github.io/chrome-for-testing/known-good-versions-with-downloads.json)
92649277
</code></pre><pre tabindex=0><code>error trying to connect: dns error: failed to lookup address information
92659278
</code></pre><pre tabindex=0><code>error trying to connect: An existing connection was forcibly closed by the remote host. (os error 10054)

documentation/selenium_manager/index.html

Lines changed: 18 additions & 5 deletions
Large diffs are not rendered by default.

en/sitemap.xml

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

ja/documentation/_print/index.html

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9079,7 +9079,20 @@
90799079
DEBUG Downloading chromedriver 117.0.5938.22 from https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/117.0.5938.22/win64/chromedriver-win64.zip
90809080
INFO Driver path: C:\Users\boni\.cache\selenium\chromedriver\win64\117.0.5938.22\chromedriver.exe
90819081
INFO Browser path: C:\Users\boni\.cache\selenium\chrome\win64\117.0.5938.22\chrome.exe
9082-
</code></pre><h2 id=selenium-grid>Selenium Grid</h2><p>Selenium Manager allows you to configure the drivers automatically when setting up Selenium Grid. To that aim, you need to include the argument <code>--selenium-manager true</code> in the command to start Selenium Grid. For more details, visit the <a href=https://www.selenium.dev/documentation/grid/getting_started/>Selenium Grid starting page</a>.</p><p>Moreover, Selenium Manager also allows managing Selenium Grid releases automatically. For that, the argument <code>--grid</code> is used as follows:</p><pre tabindex=0><code>$ ./selenium-manager --grid
9082+
</code></pre><h3 id=implementing-selenium-manager-in-your-scripts>Implementing Selenium Manager in Your Scripts</h3><ul class="nav nav-tabs" id=tabs-0 role=tablist><li class=nav-item><button class="nav-link active" id=tabs-00-00-tab data-bs-toggle=tab data-bs-target=#tabs-00-00 role=tab data-td-tp-persist=java aria-controls=tabs-00-00 aria-selected=true>
9083+
Java</button></li><li class=nav-item><button class=nav-link id=tabs-00-01-tab data-bs-toggle=tab data-bs-target=#tabs-00-01 role=tab data-td-tp-persist=python aria-controls=tabs-00-01 aria-selected=false>
9084+
Python</button></li><li class=nav-item><button class=nav-link id=tabs-00-02-tab data-bs-toggle=tab data-bs-target=#tabs-00-02 role=tab data-td-tp-persist=csharp aria-controls=tabs-00-02 aria-selected=false>
9085+
CSharp</button></li><li class=nav-item><button class=nav-link id=tabs-00-03-tab data-bs-toggle=tab data-bs-target=#tabs-00-03 role=tab data-td-tp-persist=ruby aria-controls=tabs-00-03 aria-selected=false>
9086+
Ruby</button></li><li class=nav-item><button class=nav-link id=tabs-00-04-tab data-bs-toggle=tab data-bs-target=#tabs-00-04 role=tab data-td-tp-persist=javascript aria-controls=tabs-00-04 aria-selected=false>
9087+
JavaScript</button></li><li class=nav-item><button class=nav-link id=tabs-00-05-tab data-bs-toggle=tab data-bs-target=#tabs-00-05 role=tab data-td-tp-persist=kotlin aria-controls=tabs-00-05 aria-selected=false>
9088+
Kotlin</button></li></ul><div class=tab-content id=tabs-0-content><div class="tab-body tab-pane fade show active" id=tabs-00-00 role=tabpanel aria-labelled-by=tabs-00-00-tab tabindex=0></div><div class="tab-body tab-pane fade" id=tabs-00-01 role=tabpanel aria-labelled-by=tabs-00-01-tab tabindex=0><p><strong>Previously</strong></p><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-py data-lang=py><span style=display:flex><span><span style=color:#204a87;font-weight:700>def</span> <span style=color:#000>setup_without_selenium_manager</span><span style=color:#000;font-weight:700>():</span>
9089+
</span></span><span style=display:flex><span> <span style=color:#000>chrome_service</span> <span style=color:#ce5c00;font-weight:700>=</span> <span style=color:#000>Service</span><span style=color:#000;font-weight:700>(</span><span style=color:#000>executable_path</span><span style=color:#ce5c00;font-weight:700>=</span><span style=color:#4e9a06>&#39;path/to/chrome.exe&#39;</span><span style=color:#000;font-weight:700>)</span>
9090+
</span></span><span style=display:flex><span> <span style=color:#000>driver</span> <span style=color:#ce5c00;font-weight:700>=</span> <span style=color:#000>webdriver</span><span style=color:#ce5c00;font-weight:700>.</span><span style=color:#000>Chrome</span><span style=color:#000;font-weight:700>(</span><span style=color:#000>chrome_service</span><span style=color:#000;font-weight:700>)</span>
9091+
</span></span><span style=display:flex><span> <span style=color:#204a87;font-weight:700>return</span> <span style=color:#000>driver</span></span></span></code></pre></div><div class="text-end pb-2"><a href=https://github.com/SeleniumHQ/seleniumhq.github.io/blob/trunk/examples/python/tests/selenium_manager/usage.py#L5-L8 target=_blank><i class="fas fa-external-link-alt pl-2"></i>
9092+
<strong>View full example on GitHub</strong></a></div><p><strong>Selenium Manager</strong></p><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-py data-lang=py><span style=display:flex><span><span style=color:#204a87;font-weight:700>def</span> <span style=color:#000>setup_with_selenium_manager</span><span style=color:#000;font-weight:700>():</span>
9093+
</span></span><span style=display:flex><span> <span style=color:#000>driver</span> <span style=color:#ce5c00;font-weight:700>=</span> <span style=color:#000>webdriver</span><span style=color:#ce5c00;font-weight:700>.</span><span style=color:#000>Chrome</span><span style=color:#000;font-weight:700>()</span>
9094+
</span></span><span style=display:flex><span> <span style=color:#204a87;font-weight:700>return</span> <span style=color:#000>driver</span></span></span></code></pre></div><div class="text-end pb-2"><a href=https://github.com/SeleniumHQ/seleniumhq.github.io/blob/trunk/examples/python/tests/selenium_manager/usage.py#L10-L12 target=_blank><i class="fas fa-external-link-alt pl-2"></i>
9095+
<strong>View full example on GitHub</strong></a></div><p><a href=/documentation/about/contributing/#creating-examples><span class=selenium-badge-code data-bs-toggle=tooltip data-bs-placement=right title="This code example is missing. Examples are added to the examples directory; click for details in the contribution guide">Add Example</span></a></p></div><div class="tab-body tab-pane fade" id=tabs-00-02 role=tabpanel aria-labelled-by=tabs-00-02-tab tabindex=0></div><div class="tab-body tab-pane fade" id=tabs-00-03 role=tabpanel aria-labelled-by=tabs-00-03-tab tabindex=0></div><div class="tab-body tab-pane fade" id=tabs-00-04 role=tabpanel aria-labelled-by=tabs-00-04-tab tabindex=0></div><div class="tab-body tab-pane fade" id=tabs-00-05 role=tabpanel aria-labelled-by=tabs-00-05-tab tabindex=0><p><a href=/documentation/about/contributing/#creating-examples><span class=selenium-badge-code data-bs-toggle=tooltip data-bs-placement=right title="This code example is missing. Examples are added to the examples directory; click for details in the contribution guide">Add Example</span></a></p></div></div><h2 id=selenium-grid>Selenium Grid</h2><p>Selenium Manager allows you to configure the drivers automatically when setting up Selenium Grid. To that aim, you need to include the argument <code>--selenium-manager true</code> in the command to start Selenium Grid. For more details, visit the <a href=https://www.selenium.dev/documentation/grid/getting_started/>Selenium Grid starting page</a>.</p><p>Moreover, Selenium Manager also allows managing Selenium Grid releases automatically. For that, the argument <code>--grid</code> is used as follows:</p><pre tabindex=0><code>$ ./selenium-manager --grid
90839096
</code></pre><p>After this command, Selenium Manager discovers the latest version of Selenium Grid, storing the <code>selenium-server.jar</code> in the local cache.</p><p>Optionally, the argument <code>--grid</code> allows to specify a Selenium Grid version (<code>--grid &lt;GRID_VERSION></code>).</p><h2 id=known-limitations>Known Limitations</h2><h3 id=connectivity-issues>Connectivity issues</h3><p>Selenium Manager requests remote endpoints (like Chrome for Testing (CfT), among others) to discover and download drivers and browsers from online repositories. When this operation is done in a corporate environment with a proxy or firewall, it might lead to connectivity problems like the following:</p><pre tabindex=0><code>error sending request for url (https://googlechromelabs.github.io/chrome-for-testing/known-good-versions-with-downloads.json)
90849097
</code></pre><pre tabindex=0><code>error trying to connect: dns error: failed to lookup address information
90859098
</code></pre><pre tabindex=0><code>error trying to connect: An existing connection was forcibly closed by the remote host. (os error 10054)

0 commit comments

Comments
 (0)