| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta charset="utf-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title> |
| Class: Selenium::Server |
| |
| — Documentation by YARD 0.9.38 |
| |
| </title> |
| |
| <link rel="stylesheet" href="../css/style.css" type="text/css" /> |
| |
| <link rel="stylesheet" href="../css/common.css" type="text/css" /> |
| |
| <script type="text/javascript"> |
| pathId = "Selenium::Server"; |
| relpath = '../'; |
| </script> |
| |
| |
| <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script> |
| |
| <script type="text/javascript" charset="utf-8" src="../js/app.js"></script> |
| |
| |
| </head> |
| <body> |
| <div class="nav_wrap"> |
| <iframe id="nav" src="../class_list.html?1"></iframe> |
| <div id="resizer"></div> |
| </div> |
| |
| <div id="main" tabindex="-1"> |
| <div id="header"> |
| <div id="menu"> |
| |
| <a href="../_index.html">Index (S)</a> » |
| <span class='title'><span class='object_link'><a href="../Selenium.html" title="Selenium (module)">Selenium</a></span></span> |
| » |
| <span class="title">Server</span> |
| |
| </div> |
| |
| <div id="search"> |
| |
| <a class="full_list_link" id="class_list_link" |
| href="../class_list.html"> |
| |
| <svg width="24" height="24"> |
| <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect> |
| <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect> |
| <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect> |
| </svg> |
| </a> |
| |
| </div> |
| <div class="clear"></div> |
| </div> |
| |
| <div id="content"><h1>Class: Selenium::Server |
| |
| |
| |
| </h1> |
| <div class="box_info"> |
| |
| <dl> |
| <dt>Inherits:</dt> |
| <dd> |
| <span class="inheritName">Object</span> |
| |
| <ul class="fullTree"> |
| <li>Object</li> |
| |
| <li class="next">Selenium::Server</li> |
| |
| </ul> |
| <a href="#" class="inheritanceTree">show all</a> |
| |
| </dd> |
| </dl> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <dl> |
| <dt>Defined in:</dt> |
| <dd>rb/lib/selenium/server.rb</dd> |
| </dl> |
| |
| </div> |
| |
| <h2>Overview</h2><div class="docstring"> |
| <div class="discussion"> |
| |
| <p>Wraps the remote server jar</p> |
| |
| <p>Usage:</p> |
| |
| <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_server'>server</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Selenium.html" title="Selenium (module)">Selenium</a></span></span><span class='op'>::</span><span class='const'>Server</span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="#initialize-instance_method" title="Selenium::Server#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/path/to/selenium-server-standalone.jar</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> |
| <span class='id identifier rubyid_server'>server</span><span class='period'>.</span><span class='id identifier rubyid_start'>start</span> |
| </code></pre> |
| |
| <p>Automatically download the given version:</p> |
| |
| <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_server'>server</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Selenium.html" title="Selenium (module)">Selenium</a></span></span><span class='op'>::</span><span class='const'>Server</span><span class='period'>.</span><span class='id identifier rubyid_get'><span class='object_link'><a href="#get-class_method" title="Selenium::Server.get (method)">get</a></span></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>2.6.0</span><span class='tstring_end'>'</span></span> |
| <span class='id identifier rubyid_server'>server</span><span class='period'>.</span><span class='id identifier rubyid_start'>start</span> |
| </code></pre> |
| |
| <p>or the latest version:</p> |
| |
| <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_server'>server</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Selenium.html" title="Selenium (module)">Selenium</a></span></span><span class='op'>::</span><span class='const'>Server</span><span class='period'>.</span><span class='id identifier rubyid_get'><span class='object_link'><a href="#get-class_method" title="Selenium::Server.get (method)">get</a></span></span> <span class='symbol'>:latest</span> |
| <span class='id identifier rubyid_server'>server</span><span class='period'>.</span><span class='id identifier rubyid_start'>start</span> |
| </code></pre> |
| |
| <p>Run the server in the background:</p> |
| |
| <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_server'>server</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Selenium.html" title="Selenium (module)">Selenium</a></span></span><span class='op'>::</span><span class='const'>Server</span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="#initialize-instance_method" title="Selenium::Server#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_jar'>jar</span><span class='comma'>,</span> <span class='symbol'>:background</span> <span class='op'>=></span> <span class='kw'>true</span><span class='rparen'>)</span> |
| <span class='id identifier rubyid_server'>server</span><span class='period'>.</span><span class='id identifier rubyid_start'>start</span> |
| </code></pre> |
| |
| <p>Add additional arguments:</p> |
| |
| <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_server'>server</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Selenium.html" title="Selenium (module)">Selenium</a></span></span><span class='op'>::</span><span class='const'>Server</span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="#initialize-instance_method" title="Selenium::Server#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_jar'>jar</span><span class='rparen'>)</span> |
| <span class='id identifier rubyid_server'>server</span> <span class='op'><<</span> <span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>--additional</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>args</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span> |
| <span class='id identifier rubyid_server'>server</span><span class='period'>.</span><span class='id identifier rubyid_start'>start</span> |
| </code></pre> |
| |
| |
| </div> |
| </div> |
| <div class="tags"> |
| |
| |
| </div><h2>Defined Under Namespace</h2> |
| <p class="children"> |
| |
| |
| |
| |
| <strong class="classes">Classes:</strong> <span class='object_link'><a href="Server/Error.html" title="Selenium::Server::Error (class)">Error</a></span> |
| |
| |
| </p> |
| |
| |
| <h2> |
| Constant Summary |
| <small><a href="#" class="constants_summary_toggle">collapse</a></small> |
| </h2> |
| |
| <dl class="constants"> |
| |
| <dt id="CL_RESET-constant" class="">CL_RESET = |
| |
| </dt> |
| <dd><pre class="code"><span class='const'><span class='object_link'><a href="WebDriver.html" title="Selenium::WebDriver (module)">WebDriver</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="WebDriver/Platform.html" title="Selenium::WebDriver::Platform (module)">Platform</a></span></span><span class='period'>.</span><span class='id identifier rubyid_windows?'><span class='object_link'><a href="WebDriver/Platform.html#windows%3F-class_method" title="Selenium::WebDriver::Platform.windows? (method)">windows?</a></span></span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\r\e[0K</span><span class='tstring_end'>"</span></span></pre></dd> |
| |
| </dl> |
| |
| |
| |
| |
| |
| <h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2> |
| <ul class="summary"> |
| |
| <li class="public "> |
| <span class="summary_signature"> |
| |
| <a href="#background-instance_method" title="#background (instance method)">#<strong>background</strong> ⇒ Object </a> |
| |
| |
| |
| </span> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <span class="summary_desc"><div class='inline'> |
| <p>The Mode of the Server :standalone, #hub, #node.</p> |
| </div></span> |
| |
| </li> |
| |
| |
| <li class="public "> |
| <span class="summary_signature"> |
| |
| <a href="#host-instance_method" title="#host (instance method)">#<strong>host</strong> ⇒ Object </a> |
| |
| |
| |
| </span> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <span class="summary_desc"><div class='inline'> |
| <p>The Mode of the Server :standalone, #hub, #node.</p> |
| </div></span> |
| |
| </li> |
| |
| |
| <li class="public "> |
| <span class="summary_signature"> |
| |
| <a href="#log-instance_method" title="#log (instance method)">#<strong>log</strong> ⇒ Object </a> |
| |
| |
| |
| </span> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <span class="summary_desc"><div class='inline'> |
| <p>The Mode of the Server :standalone, #hub, #node.</p> |
| </div></span> |
| |
| </li> |
| |
| |
| <li class="public "> |
| <span class="summary_signature"> |
| |
| <a href="#port-instance_method" title="#port (instance method)">#<strong>port</strong> ⇒ Object </a> |
| |
| |
| |
| </span> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <span class="summary_desc"><div class='inline'> |
| <p>The Mode of the Server :standalone, #hub, #node.</p> |
| </div></span> |
| |
| </li> |
| |
| |
| <li class="public "> |
| <span class="summary_signature"> |
| |
| <a href="#role-instance_method" title="#role (instance method)">#<strong>role</strong> ⇒ Object </a> |
| |
| |
| |
| </span> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <span class="summary_desc"><div class='inline'> |
| <p>The Mode of the Server :standalone, #hub, #node.</p> |
| </div></span> |
| |
| </li> |
| |
| |
| <li class="public "> |
| <span class="summary_signature"> |
| |
| <a href="#timeout-instance_method" title="#timeout (instance method)">#<strong>timeout</strong> ⇒ Object </a> |
| |
| |
| |
| </span> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <span class="summary_desc"><div class='inline'> |
| <p>The Mode of the Server :standalone, #hub, #node.</p> |
| </div></span> |
| |
| </li> |
| |
| |
| </ul> |
| |
| |
| |
| |
| |
| <h2> |
| Class Method Summary |
| <small><a href="#" class="summary_toggle">collapse</a></small> |
| </h2> |
| |
| <ul class="summary"> |
| |
| <li class="public "> |
| <span class="summary_signature"> |
| |
| <a href="#available_assets-class_method" title="available_assets (class method)">.<strong>available_assets</strong> ⇒ Object </a> |
| |
| |
| |
| </span> |
| |
| |
| |
| |
| |
| |
| <span class="private note title">private</span> |
| |
| |
| <span class="summary_desc"><div class='inline'></div></span> |
| |
| </li> |
| |
| |
| <li class="public "> |
| <span class="summary_signature"> |
| |
| <a href="#download-class_method" title="download (class method)">.<strong>download</strong>(required_version = :latest) ⇒ String </a> |
| |
| |
| |
| </span> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <span class="summary_desc"><div class='inline'> |
| <p>Download the given version of the selenium-server jar and return location.</p> |
| </div></span> |
| |
| </li> |
| |
| |
| <li class="public "> |
| <span class="summary_signature"> |
| |
| <a href="#download_server-class_method" title="download_server (class method)">.<strong>download_server</strong>(uri, destination) ⇒ Object </a> |
| |
| |
| |
| </span> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <span class="summary_desc"><div class='inline'></div></span> |
| |
| </li> |
| |
| |
| <li class="public "> |
| <span class="summary_signature"> |
| |
| <a href="#get-class_method" title="get (class method)">.<strong>get</strong>(required_version = :latest, opts = {}) ⇒ Selenium::Server </a> |
| |
| |
| |
| </span> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <span class="summary_desc"><div class='inline'> |
| <p>Download the given version of the selenium-server jar and return instance.</p> |
| </div></span> |
| |
| </li> |
| |
| |
| <li class="public "> |
| <span class="summary_signature"> |
| |
| <a href="#latest-class_method" title="latest (class method)">.<strong>latest</strong> ⇒ Object </a> |
| |
| |
| |
| </span> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <span class="summary_desc"><div class='inline'> |
| <p>Ask GitHub what the latest selenium-server version is.</p> |
| </div></span> |
| |
| </li> |
| |
| |
| <li class="public "> |
| <span class="summary_signature"> |
| |
| <a href="#net_http_start-class_method" title="net_http_start (class method)">.<strong>net_http_start</strong>(address, &block) ⇒ Object </a> |
| |
| |
| |
| </span> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <span class="summary_desc"><div class='inline'></div></span> |
| |
| </li> |
| |
| |
| </ul> |
| |
| <h2> |
| Instance Method Summary |
| <small><a href="#" class="summary_toggle">collapse</a></small> |
| </h2> |
| |
| <ul class="summary"> |
| |
| <li class="public "> |
| <span class="summary_signature"> |
| |
| <a href="#<<-instance_method" title="#<< (instance method)">#<strong><<</strong>(arg) ⇒ Object </a> |
| |
| |
| |
| </span> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <span class="summary_desc"><div class='inline'></div></span> |
| |
| </li> |
| |
| |
| <li class="public "> |
| <span class="summary_signature"> |
| |
| <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(jar, opts = {}) ⇒ Server </a> |
| |
| |
| |
| </span> |
| |
| |
| <span class="note title constructor">constructor</span> |
| |
| |
| |
| |
| |
| |
| |
| |
| <span class="summary_desc"><div class='inline'> |
| <p>A new instance of Server.</p> |
| </div></span> |
| |
| </li> |
| |
| |
| <li class="public "> |
| <span class="summary_signature"> |
| |
| <a href="#start-instance_method" title="#start (instance method)">#<strong>start</strong> ⇒ Object </a> |
| |
| |
| |
| </span> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <span class="summary_desc"><div class='inline'></div></span> |
| |
| </li> |
| |
| |
| <li class="public "> |
| <span class="summary_signature"> |
| |
| <a href="#status_ok%3F-instance_method" title="#status_ok? (instance method)">#<strong>status_ok?</strong> ⇒ Boolean </a> |
| |
| |
| |
| </span> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <span class="summary_desc"><div class='inline'></div></span> |
| |
| </li> |
| |
| |
| <li class="public "> |
| <span class="summary_signature"> |
| |
| <a href="#stop-instance_method" title="#stop (instance method)">#<strong>stop</strong> ⇒ Object </a> |
| |
| |
| |
| </span> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <span class="summary_desc"><div class='inline'></div></span> |
| |
| </li> |
| |
| |
| <li class="public "> |
| <span class="summary_signature"> |
| |
| <a href="#webdriver_url-instance_method" title="#webdriver_url (instance method)">#<strong>webdriver_url</strong> ⇒ Object </a> |
| |
| |
| |
| </span> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <span class="summary_desc"><div class='inline'></div></span> |
| |
| </li> |
| |
| |
| </ul> |
| |
| |
| <div id="constructor_details" class="method_details_list"> |
| <h2>Constructor Details</h2> |
| |
| <div class="method_details first"> |
| <h3 class="signature first" id="initialize-instance_method"> |
| |
| #<strong>initialize</strong>(jar, opts = {}) ⇒ <tt><span class='object_link'><a href="" title="Selenium::Server (class)">Server</a></span></tt> |
| |
| |
| |
| |
| |
| </h3><div class="docstring"> |
| <div class="discussion"> |
| |
| <p>Returns a new instance of Server.</p> |
| |
| |
| </div> |
| </div> |
| <div class="tags"> |
| <p class="tag_title">Parameters:</p> |
| <ul class="param"> |
| |
| <li> |
| |
| <span class='name'>jar</span> |
| |
| |
| <span class='type'>(<tt>String</tt>)</span> |
| |
| |
| |
| — |
| <div class='inline'> |
| <p>Path to the server jar.</p> |
| </div> |
| |
| </li> |
| |
| <li> |
| |
| <span class='name'>opts</span> |
| |
| |
| <span class='type'>(<tt>Hash</tt>)</span> |
| |
| |
| <em class="default">(defaults to: <tt>{}</tt>)</em> |
| |
| |
| — |
| <div class='inline'> |
| <p>the options to create the server process with</p> |
| </div> |
| |
| </li> |
| |
| </ul> |
| |
| |
| |
| |
| |
| |
| <p class="tag_title">Options Hash (<tt>opts</tt>):</p> |
| <ul class="option"> |
| |
| <li> |
| <span class="name">:port</span> |
| <span class="type">(<tt>Integer</tt>)</span> |
| <span class="default"> |
| |
| </span> |
| |
| — <div class='inline'> |
| <p>Port the server should listen on (default: 4444).</p> |
| </div> |
| |
| </li> |
| |
| <li> |
| <span class="name">:timeout</span> |
| <span class="type">(<tt>Integer</tt>)</span> |
| <span class="default"> |
| |
| </span> |
| |
| — <div class='inline'> |
| <p>Seconds to wait for server launch/shutdown (default: 30)</p> |
| </div> |
| |
| </li> |
| |
| <li> |
| <span class="name">:background</span> |
| <span class="type">(<tt>true</tt>, <tt>false</tt>)</span> |
| <span class="default"> |
| |
| </span> |
| |
| — <div class='inline'> |
| <p>Run the server in the background (default: false)</p> |
| </div> |
| |
| </li> |
| |
| <li> |
| <span class="name">:log</span> |
| <span class="type">(<tt>true</tt>, <tt>false</tt>, <tt>String</tt>)</span> |
| <span class="default"> |
| |
| </span> |
| |
| — <div class='inline'> |
| <p>Either a path to a log file, or true to pass server log to stdout.</p> |
| </div> |
| |
| </li> |
| |
| </ul> |
| |
| |
| <p class="tag_title">Raises:</p> |
| <ul class="raise"> |
| |
| <li> |
| |
| |
| <span class='type'>(<tt>Errno::ENOENT</tt>)</span> |
| |
| |
| |
| — |
| <div class='inline'> |
| <p>if the jar file does not exist</p> |
| </div> |
| |
| </li> |
| |
| </ul> |
| |
| </div><table class="source_code"> |
| <tr> |
| <td> |
| <pre class="lines"> |
| |
| |
| 184 |
| 185 |
| 186 |
| 187 |
| 188 |
| 189 |
| 190 |
| 191 |
| 192 |
| 193 |
| 194 |
| 195 |
| 196 |
| 197 |
| 198 |
| 199 |
| 200 |
| 201 |
| 202 |
| 203</pre> |
| </td> |
| <td> |
| <pre class="code"><span class="info file"># File 'rb/lib/selenium/server.rb', line 184</span> |
| |
| <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_jar'>jar</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span> |
| <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Errno</span><span class='op'>::</span><span class='const'>ENOENT</span><span class='comma'>,</span> <span class='id identifier rubyid_jar'>jar</span> <span class='kw'>unless</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_exist?'>exist?</span><span class='lparen'>(</span><span class='id identifier rubyid_jar'>jar</span><span class='rparen'>)</span> |
| |
| <span class='ivar'>@java</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_fetch'>fetch</span><span class='lparen'>(</span><span class='symbol'>:java</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>java</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='op'>||</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>java</span><span class='tstring_end'>'</span></span> |
| <span class='ivar'>@jar</span> <span class='op'>=</span> <span class='id identifier rubyid_jar'>jar</span> |
| <span class='ivar'>@host</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>127.0.0.1</span><span class='tstring_end'>'</span></span> |
| <span class='ivar'>@role</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_fetch'>fetch</span><span class='lparen'>(</span><span class='symbol'>:role</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>standalone</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> |
| <span class='ivar'>@port</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_fetch'>fetch</span><span class='lparen'>(</span><span class='symbol'>:port</span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="WebDriver.html" title="Selenium::WebDriver (module)">WebDriver</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="WebDriver/PortProber.html" title="Selenium::WebDriver::PortProber (class)">PortProber</a></span></span><span class='period'>.</span><span class='id identifier rubyid_above'><span class='object_link'><a href="WebDriver/PortProber.html#above-class_method" title="Selenium::WebDriver::PortProber.above (method)">above</a></span></span><span class='lparen'>(</span><span class='int'>4444</span><span class='rparen'>)</span><span class='rparen'>)</span> |
| <span class='ivar'>@timeout</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_fetch'>fetch</span><span class='lparen'>(</span><span class='symbol'>:timeout</span><span class='comma'>,</span> <span class='int'>30</span><span class='rparen'>)</span> |
| <span class='ivar'>@background</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_fetch'>fetch</span><span class='lparen'>(</span><span class='symbol'>:background</span><span class='comma'>,</span> <span class='kw'>false</span><span class='rparen'>)</span> |
| <span class='ivar'>@additional_args</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_fetch'>fetch</span><span class='lparen'>(</span><span class='symbol'>:args</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='rbracket'>]</span><span class='rparen'>)</span> |
| <span class='ivar'>@log</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:log</span><span class='rbracket'>]</span> |
| <span class='kw'>if</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:log_level</span><span class='rbracket'>]</span> |
| <span class='ivar'>@log</span> <span class='op'>||=</span> <span class='kw'>true</span> |
| <span class='ivar'>@additional_args</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>--log-level</span><span class='tstring_end'>'</span></span> |
| <span class='ivar'>@additional_args</span> <span class='op'><<</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:log_level</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> |
| <span class='kw'>end</span> |
| |
| <span class='ivar'>@log_file</span> <span class='op'>=</span> <span class='kw'>nil</span> |
| <span class='kw'>end</span></pre> |
| </td> |
| </tr> |
| </table> |
| </div> |
| |
| </div> |
| |
| <div id="instance_attr_details" class="attr_details"> |
| <h2>Instance Attribute Details</h2> |
| |
| |
| <span id="background=-instance_method"></span> |
| <div class="method_details first"> |
| <h3 class="signature first" id="background-instance_method"> |
| |
| #<strong>background</strong> ⇒ <tt>Object</tt> |
| |
| |
| |
| |
| |
| </h3><div class="docstring"> |
| <div class="discussion"> |
| |
| <p>The Mode of the Server :standalone, #hub, #node</p> |
| |
| |
| </div> |
| </div> |
| <div class="tags"> |
| |
| |
| </div><table class="source_code"> |
| <tr> |
| <td> |
| <pre class="lines"> |
| |
| |
| 170 |
| 171 |
| 172</pre> |
| </td> |
| <td> |
| <pre class="code"><span class="info file"># File 'rb/lib/selenium/server.rb', line 170</span> |
| |
| <span class='kw'>def</span> <span class='id identifier rubyid_background'>background</span> |
| <span class='ivar'>@background</span> |
| <span class='kw'>end</span></pre> |
| </td> |
| </tr> |
| </table> |
| </div> |
| |
| |
| <span id="host=-instance_method"></span> |
| <div class="method_details "> |
| <h3 class="signature " id="host-instance_method"> |
| |
| #<strong>host</strong> ⇒ <tt>Object</tt> |
| |
| |
| |
| |
| |
| </h3><div class="docstring"> |
| <div class="discussion"> |
| |
| <p>The Mode of the Server :standalone, #hub, #node</p> |
| |
| |
| </div> |
| </div> |
| <div class="tags"> |
| |
| |
| </div><table class="source_code"> |
| <tr> |
| <td> |
| <pre class="lines"> |
| |
| |
| 170 |
| 171 |
| 172</pre> |
| </td> |
| <td> |
| <pre class="code"><span class="info file"># File 'rb/lib/selenium/server.rb', line 170</span> |
| |
| <span class='kw'>def</span> <span class='id identifier rubyid_host'>host</span> |
| <span class='ivar'>@host</span> |
| <span class='kw'>end</span></pre> |
| </td> |
| </tr> |
| </table> |
| </div> |
| |
| |
| <span id="log=-instance_method"></span> |
| <div class="method_details "> |
| <h3 class="signature " id="log-instance_method"> |
| |
| #<strong>log</strong> ⇒ <tt>Object</tt> |
| |
| |
| |
| |
| |
| </h3><div class="docstring"> |
| <div class="discussion"> |
| |
| <p>The Mode of the Server :standalone, #hub, #node</p> |
| |
| |
| </div> |
| </div> |
| <div class="tags"> |
| |
| |
| </div><table class="source_code"> |
| <tr> |
| <td> |
| <pre class="lines"> |
| |
| |
| 170 |
| 171 |
| 172</pre> |
| </td> |
| <td> |
| <pre class="code"><span class="info file"># File 'rb/lib/selenium/server.rb', line 170</span> |
| |
| <span class='kw'>def</span> <span class='id identifier rubyid_log'>log</span> |
| <span class='ivar'>@log</span> |
| <span class='kw'>end</span></pre> |
| </td> |
| </tr> |
| </table> |
| </div> |
| |
| |
| <span id="port=-instance_method"></span> |
| <div class="method_details "> |
| <h3 class="signature " id="port-instance_method"> |
| |
| #<strong>port</strong> ⇒ <tt>Object</tt> |
| |
| |
| |
| |
| |
| </h3><div class="docstring"> |
| <div class="discussion"> |
| |
| <p>The Mode of the Server :standalone, #hub, #node</p> |
| |
| |
| </div> |
| </div> |
| <div class="tags"> |
| |
| |
| </div><table class="source_code"> |
| <tr> |
| <td> |
| <pre class="lines"> |
| |
| |
| 170 |
| 171 |
| 172</pre> |
| </td> |
| <td> |
| <pre class="code"><span class="info file"># File 'rb/lib/selenium/server.rb', line 170</span> |
| |
| <span class='kw'>def</span> <span class='id identifier rubyid_port'>port</span> |
| <span class='ivar'>@port</span> |
| <span class='kw'>end</span></pre> |
| </td> |
| </tr> |
| </table> |
| </div> |
| |
| |
| <span id="role=-instance_method"></span> |
| <div class="method_details "> |
| <h3 class="signature " id="role-instance_method"> |
| |
| #<strong>role</strong> ⇒ <tt>Object</tt> |
| |
| |
| |
| |
| |
| </h3><div class="docstring"> |
| <div class="discussion"> |
| |
| <p>The Mode of the Server :standalone, #hub, #node</p> |
| |
| |
| </div> |
| </div> |
| <div class="tags"> |
| |
| |
| </div><table class="source_code"> |
| <tr> |
| <td> |
| <pre class="lines"> |
| |
| |
| 170 |
| 171 |
| 172</pre> |
| </td> |
| <td> |
| <pre class="code"><span class="info file"># File 'rb/lib/selenium/server.rb', line 170</span> |
| |
| <span class='kw'>def</span> <span class='id identifier rubyid_role'>role</span> |
| <span class='ivar'>@role</span> |
| <span class='kw'>end</span></pre> |
| </td> |
| </tr> |
| </table> |
| </div> |
| |
| |
| <span id="timeout=-instance_method"></span> |
| <div class="method_details "> |
| <h3 class="signature " id="timeout-instance_method"> |
| |
| #<strong>timeout</strong> ⇒ <tt>Object</tt> |
| |
| |
| |
| |
| |
| </h3><div class="docstring"> |
| <div class="discussion"> |
| |
| <p>The Mode of the Server :standalone, #hub, #node</p> |
| |
| |
| </div> |
| </div> |
| <div class="tags"> |
| |
| |
| </div><table class="source_code"> |
| <tr> |
| <td> |
| <pre class="lines"> |
| |
| |
| 170 |
| 171 |
| 172</pre> |
| </td> |
| <td> |
| <pre class="code"><span class="info file"># File 'rb/lib/selenium/server.rb', line 170</span> |
| |
| <span class='kw'>def</span> <span class='id identifier rubyid_timeout'>timeout</span> |
| <span class='ivar'>@timeout</span> |
| <span class='kw'>end</span></pre> |
| </td> |
| </tr> |
| </table> |
| </div> |
| |
| </div> |
| |
| |
| <div id="class_method_details" class="method_details_list"> |
| <h2>Class Method Details</h2> |
| |
| |
| <div class="method_details first"> |
| <h3 class="signature first" id="available_assets-class_method"> |
| |
| .<strong>available_assets</strong> ⇒ <tt>Object</tt> |
| |
| |
| |
| |
| |
| </h3><div class="docstring"> |
| <div class="discussion"> |
| <p class="note private"> |
| <strong>This method is part of a private API.</strong> |
| You should avoid using this method if possible, as it may be removed or be changed in the future. |
| </p> |
| |
| |
| </div> |
| </div> |
| <div class="tags"> |
| |
| |
| </div><table class="source_code"> |
| <tr> |
| <td> |
| <pre class="lines"> |
| |
| |
| 117 |
| 118 |
| 119 |
| 120 |
| 121 |
| 122 |
| 123 |
| 124</pre> |
| </td> |
| <td> |
| <pre class="code"><span class="info file"># File 'rb/lib/selenium/server.rb', line 117</span> |
| |
| <span class='kw'>def</span> <span class='id identifier rubyid_available_assets'>available_assets</span> |
| <span class='ivar'>@available_assets</span> <span class='op'>||=</span> <span class='id identifier rubyid_net_http_start'>net_http_start</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>api.github.com</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_http'>http</span><span class='op'>|</span> |
| <span class='id identifier rubyid_json'>json</span> <span class='op'>=</span> <span class='id identifier rubyid_http'>http</span><span class='period'>.</span><span class='id identifier rubyid_get'>get</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/repos/seleniumhq/selenium/releases</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_body'>body</span> |
| <span class='id identifier rubyid_all_assets'>all_assets</span> <span class='op'>=</span> <span class='const'>JSON</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='id identifier rubyid_json'>json</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_release'>release</span><span class='op'>|</span> <span class='id identifier rubyid_release'>release</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>assets</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span> |
| <span class='id identifier rubyid_server_assets'>server_assets</span> <span class='op'>=</span> <span class='id identifier rubyid_all_assets'>all_assets</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_asset'>asset</span><span class='op'>|</span> <span class='id identifier rubyid_asset'>asset</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>name</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>selenium-server-(\d+\.\d+\.\d+)\.jar</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='rbrace'>}</span> |
| <span class='id identifier rubyid_server_assets'>server_assets</span><span class='period'>.</span><span class='id identifier rubyid_each_with_object'>each_with_object</span><span class='lparen'>(</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_asset'>asset</span><span class='comma'>,</span> <span class='id identifier rubyid_hash'>hash</span><span class='op'>|</span> <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_asset'>asset</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>name</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_asset'>asset</span> <span class='rbrace'>}</span> |
| <span class='kw'>end</span> |
| <span class='kw'>end</span></pre> |
| </td> |
| </tr> |
| </table> |
| </div> |
| |
| <div class="method_details "> |
| <h3 class="signature " id="download-class_method"> |
| |
| .<strong>download</strong>(required_version = :latest) ⇒ <tt>String</tt> |
| |
| |
| |
| |
| |
| </h3><div class="docstring"> |
| <div class="discussion"> |
| |
| <p>Download the given version of the selenium-server jar and return location</p> |
| |
| |
| </div> |
| </div> |
| <div class="tags"> |
| <p class="tag_title">Parameters:</p> |
| <ul class="param"> |
| |
| <li> |
| |
| <span class='name'>required_version</span> |
| |
| |
| <span class='type'>(<tt>String</tt>, <tt>Symbol</tt>)</span> |
| |
| |
| <em class="default">(defaults to: <tt>:latest</tt>)</em> |
| |
| |
| — |
| <div class='inline'> |
| <p>X.Y.Z defaults to ‘:latest’</p> |
| </div> |
| |
| </li> |
| |
| </ul> |
| |
| <p class="tag_title">Returns:</p> |
| <ul class="return"> |
| |
| <li> |
| |
| |
| <span class='type'>(<tt>String</tt>)</span> |
| |
| |
| |
| — |
| <div class='inline'> |
| <p>location of downloaded file</p> |
| </div> |
| |
| </li> |
| |
| </ul> |
| |
| </div><table class="source_code"> |
| <tr> |
| <td> |
| <pre class="lines"> |
| |
| |
| 82 |
| 83 |
| 84 |
| 85 |
| 86 |
| 87 |
| 88 |
| 89 |
| 90 |
| 91 |
| 92 |
| 93 |
| 94 |
| 95 |
| 96 |
| 97 |
| 98 |
| 99 |
| 100 |
| 101 |
| 102</pre> |
| </td> |
| <td> |
| <pre class="code"><span class="info file"># File 'rb/lib/selenium/server.rb', line 82</span> |
| |
| <span class='kw'>def</span> <span class='id identifier rubyid_download'>download</span><span class='lparen'>(</span><span class='id identifier rubyid_required_version'>required_version</span> <span class='op'>=</span> <span class='symbol'>:latest</span><span class='rparen'>)</span> |
| <span class='id identifier rubyid_required_version'>required_version</span> <span class='op'>=</span> <span class='id identifier rubyid_latest'>latest</span> <span class='kw'>if</span> <span class='id identifier rubyid_required_version'>required_version</span> <span class='op'>==</span> <span class='symbol'>:latest</span> |
| <span class='id identifier rubyid_download_file_name'>download_file_name</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>selenium-server-</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_required_version'>required_version</span><span class='embexpr_end'>}</span><span class='tstring_content'>.jar</span><span class='tstring_end'>"</span></span> |
| |
| <span class='kw'>return</span> <span class='id identifier rubyid_download_file_name'>download_file_name</span> <span class='kw'>if</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_exist?'>exist?</span> <span class='id identifier rubyid_download_file_name'>download_file_name</span> |
| |
| <span class='kw'>begin</span> |
| <span class='id identifier rubyid_download_location'>download_location</span> <span class='op'>=</span> <span class='id identifier rubyid_available_assets'>available_assets</span><span class='lbracket'>[</span><span class='id identifier rubyid_download_file_name'>download_file_name</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>browser_download_url</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> |
| <span class='id identifier rubyid_released'>released</span> <span class='op'>=</span> <span class='const'>Net</span><span class='op'>::</span><span class='const'>HTTP</span><span class='period'>.</span><span class='id identifier rubyid_get_response'>get_response</span><span class='lparen'>(</span><span class='const'>URI</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='id identifier rubyid_download_location'>download_location</span><span class='rparen'>)</span><span class='rparen'>)</span> |
| <span class='id identifier rubyid_redirected'>redirected</span> <span class='op'>=</span> <span class='const'>URI</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span> <span class='id identifier rubyid_released'>released</span><span class='period'>.</span><span class='id identifier rubyid_header'>header</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>location</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> |
| |
| <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_open'>open</span><span class='lparen'>(</span><span class='id identifier rubyid_download_file_name'>download_file_name</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>wb</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_destination'>destination</span><span class='op'>|</span> |
| <span class='id identifier rubyid_download_server'>download_server</span><span class='lparen'>(</span><span class='id identifier rubyid_redirected'>redirected</span><span class='comma'>,</span> <span class='id identifier rubyid_destination'>destination</span><span class='rparen'>)</span> |
| <span class='kw'>end</span> |
| <span class='kw'>rescue</span> <span class='const'>StandardError</span> |
| <span class='const'>FileUtils</span><span class='period'>.</span><span class='id identifier rubyid_rm_rf'>rm_rf</span> <span class='id identifier rubyid_download_file_name'>download_file_name</span> |
| <span class='id identifier rubyid_raise'>raise</span> |
| <span class='kw'>end</span> |
| |
| <span class='id identifier rubyid_download_file_name'>download_file_name</span> |
| <span class='kw'>end</span></pre> |
| </td> |
| </tr> |
| </table> |
| </div> |
| |
| <div class="method_details "> |
| <h3 class="signature " id="download_server-class_method"> |
| |
| .<strong>download_server</strong>(uri, destination) ⇒ <tt>Object</tt> |
| |
| |
| |
| |
| |
| </h3><table class="source_code"> |
| <tr> |
| <td> |
| <pre class="lines"> |
| |
| |
| 138 |
| 139 |
| 140 |
| 141 |
| 142 |
| 143 |
| 144 |
| 145 |
| 146 |
| 147 |
| 148 |
| 149 |
| 150 |
| 151 |
| 152 |
| 153 |
| 154 |
| 155 |
| 156 |
| 157 |
| 158 |
| 159 |
| 160 |
| 161 |
| 162</pre> |
| </td> |
| <td> |
| <pre class="code"><span class="info file"># File 'rb/lib/selenium/server.rb', line 138</span> |
| |
| <span class='kw'>def</span> <span class='id identifier rubyid_download_server'>download_server</span><span class='lparen'>(</span><span class='id identifier rubyid_uri'>uri</span><span class='comma'>,</span> <span class='id identifier rubyid_destination'>destination</span><span class='rparen'>)</span> |
| <span class='id identifier rubyid_net_http_start'>net_http_start</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>github-releases.githubusercontent.com</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_http'>http</span><span class='op'>|</span> |
| <span class='id identifier rubyid_request'>request</span> <span class='op'>=</span> <span class='const'>Net</span><span class='op'>::</span><span class='const'>HTTP</span><span class='op'>::</span><span class='const'>Get</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> <span class='id identifier rubyid_uri'>uri</span> |
| <span class='id identifier rubyid_resp'>resp</span> <span class='op'>=</span> <span class='id identifier rubyid_http'>http</span><span class='period'>.</span><span class='id identifier rubyid_request'>request</span><span class='lparen'>(</span><span class='id identifier rubyid_request'>request</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_response'>response</span><span class='op'>|</span> |
| <span class='id identifier rubyid_total'>total</span> <span class='op'>=</span> <span class='id identifier rubyid_response'>response</span><span class='period'>.</span><span class='id identifier rubyid_content_length'>content_length</span> |
| <span class='id identifier rubyid_progress'>progress</span> <span class='op'>=</span> <span class='int'>0</span> |
| <span class='id identifier rubyid_segment_count'>segment_count</span> <span class='op'>=</span> <span class='int'>0</span> |
| |
| <span class='id identifier rubyid_response'>response</span><span class='period'>.</span><span class='id identifier rubyid_read_body'>read_body</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_segment'>segment</span><span class='op'>|</span> |
| <span class='id identifier rubyid_progress'>progress</span> <span class='op'>+=</span> <span class='id identifier rubyid_segment'>segment</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> |
| <span class='id identifier rubyid_segment_count'>segment_count</span> <span class='op'>+=</span> <span class='int'>1</span> |
| |
| <span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_segment_count'>segment_count</span> <span class='op'>%</span> <span class='int'>15</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_zero?'>zero?</span> |
| <span class='id identifier rubyid_percent'>percent</span> <span class='op'>=</span> <span class='id identifier rubyid_progress'>progress</span><span class='period'>.</span><span class='id identifier rubyid_fdiv'>fdiv</span><span class='lparen'>(</span><span class='id identifier rubyid_total'>total</span><span class='rparen'>)</span> <span class='op'>*</span> <span class='int'>100</span> |
| <span class='id identifier rubyid_print'>print</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#CL_RESET-constant" title="Selenium::Server::CL_RESET (constant)">CL_RESET</a></span></span><span class='embexpr_end'>}</span><span class='tstring_content'>Downloading </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_destination'>destination</span><span class='period'>.</span><span class='id identifier rubyid_path'>path</span><span class='embexpr_end'>}</span><span class='tstring_content'>: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_percent'>percent</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span><span class='embexpr_end'>}</span><span class='tstring_content'>% (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_progress'>progress</span><span class='embexpr_end'>}</span><span class='tstring_content'> / </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_total'>total</span><span class='embexpr_end'>}</span><span class='tstring_content'>)</span><span class='tstring_end'>"</span></span> |
| <span class='id identifier rubyid_segment_count'>segment_count</span> <span class='op'>=</span> <span class='int'>0</span> |
| <span class='kw'>end</span> |
| |
| <span class='id identifier rubyid_destination'>destination</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='id identifier rubyid_segment'>segment</span><span class='rparen'>)</span> |
| <span class='kw'>end</span> |
| <span class='kw'>end</span> |
| |
| <span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="Server/Error.html" title="Selenium::Server::Error (class)">Error</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_resp'>resp</span><span class='period'>.</span><span class='id identifier rubyid_code'>code</span><span class='embexpr_end'>}</span><span class='tstring_content'> for </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_destination'>destination</span><span class='period'>.</span><span class='id identifier rubyid_path'>path</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_resp'>resp</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span> <span class='const'>Net</span><span class='op'>::</span><span class='const'>HTTPSuccess</span> |
| <span class='kw'>end</span> |
| <span class='kw'>end</span></pre> |
| </td> |
| </tr> |
| </table> |
| </div> |
| |
| <div class="method_details "> |
| <h3 class="signature " id="get-class_method"> |
| |
| .<strong>get</strong>(required_version = :latest, opts = {}) ⇒ <tt><span class='object_link'><a href="" title="Selenium::Server (class)">Selenium::Server</a></span></tt> |
| |
| |
| |
| |
| |
| </h3><div class="docstring"> |
| <div class="discussion"> |
| |
| <p>Download the given version of the selenium-server jar and return instance</p> |
| |
| |
| </div> |
| </div> |
| <div class="tags"> |
| <p class="tag_title">Parameters:</p> |
| <ul class="param"> |
| |
| <li> |
| |
| <span class='name'>required_version</span> |
| |
| |
| <span class='type'>(<tt>String</tt>, <tt>Symbol</tt>)</span> |
| |
| |
| <em class="default">(defaults to: <tt>:latest</tt>)</em> |
| |
| |
| — |
| <div class='inline'> |
| <p>X.Y.Z defaults to ‘:latest’</p> |
| </div> |
| |
| </li> |
| |
| <li> |
| |
| <span class='name'>opts</span> |
| |
| |
| <span class='type'>(<tt>Hash</tt>)</span> |
| |
| |
| <em class="default">(defaults to: <tt>{}</tt>)</em> |
| |
| |
| </li> |
| |
| </ul> |
| |
| <p class="tag_title">Returns:</p> |
| <ul class="return"> |
| |
| <li> |
| |
| |
| <span class='type'>(<tt><span class='object_link'><a href="" title="Selenium::Server (class)">Selenium::Server</a></span></tt>)</span> |
| |
| |
| |
| </li> |
| |
| </ul> |
| |
| </div><table class="source_code"> |
| <tr> |
| <td> |
| <pre class="lines"> |
| |
| |
| 71 |
| 72 |
| 73</pre> |
| </td> |
| <td> |
| <pre class="code"><span class="info file"># File 'rb/lib/selenium/server.rb', line 71</span> |
| |
| <span class='kw'>def</span> <span class='id identifier rubyid_get'>get</span><span class='lparen'>(</span><span class='id identifier rubyid_required_version'>required_version</span> <span class='op'>=</span> <span class='symbol'>:latest</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span> |
| <span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_download'>download</span><span class='lparen'>(</span><span class='id identifier rubyid_required_version'>required_version</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span> |
| <span class='kw'>end</span></pre> |
| </td> |
| </tr> |
| </table> |
| </div> |
| |
| <div class="method_details "> |
| <h3 class="signature " id="latest-class_method"> |
| |
| .<strong>latest</strong> ⇒ <tt>Object</tt> |
| |
| |
| |
| |
| |
| </h3><div class="docstring"> |
| <div class="discussion"> |
| |
| <p>Ask GitHub what the latest selenium-server version is.</p> |
| |
| |
| </div> |
| </div> |
| <div class="tags"> |
| |
| |
| </div><table class="source_code"> |
| <tr> |
| <td> |
| <pre class="lines"> |
| |
| |
| 108 |
| 109 |
| 110 |
| 111 |
| 112 |
| 113</pre> |
| </td> |
| <td> |
| <pre class="code"><span class="info file"># File 'rb/lib/selenium/server.rb', line 108</span> |
| |
| <span class='kw'>def</span> <span class='id identifier rubyid_latest'>latest</span> |
| <span class='ivar'>@latest</span> <span class='op'>||=</span> <span class='kw'>begin</span> |
| <span class='id identifier rubyid_available'>available</span> <span class='op'>=</span> <span class='id identifier rubyid_available_assets'>available_assets</span><span class='period'>.</span><span class='id identifier rubyid_keys'>keys</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_key'>key</span><span class='op'>|</span> <span class='id identifier rubyid_key'>key</span><span class='lbracket'>[</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>selenium-server-(\d+\.\d+\.\d+)\.jar</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span> <span class='rbrace'>}</span> |
| <span class='id identifier rubyid_available'>available</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_asset'>asset</span><span class='op'>|</span> <span class='const'>Gem</span><span class='op'>::</span><span class='const'>Version</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_asset'>asset</span><span class='rparen'>)</span> <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_max'>max</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> |
| <span class='kw'>end</span> |
| <span class='kw'>end</span></pre> |
| </td> |
| </tr> |
| </table> |
| </div> |
| |
| <div class="method_details "> |
| <h3 class="signature " id="net_http_start-class_method"> |
| |
| .<strong>net_http_start</strong>(address, &block) ⇒ <tt>Object</tt> |
| |
| |
| |
| |
| |
| </h3><table class="source_code"> |
| <tr> |
| <td> |
| <pre class="lines"> |
| |
| |
| 126 |
| 127 |
| 128 |
| 129 |
| 130 |
| 131 |
| 132 |
| 133 |
| 134 |
| 135 |
| 136</pre> |
| </td> |
| <td> |
| <pre class="code"><span class="info file"># File 'rb/lib/selenium/server.rb', line 126</span> |
| |
| <span class='kw'>def</span> <span class='id identifier rubyid_net_http_start'>net_http_start</span><span class='lparen'>(</span><span class='id identifier rubyid_address'>address</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span> |
| <span class='id identifier rubyid_http_proxy'>http_proxy</span> <span class='op'>=</span> <span class='const'>ENV</span><span class='period'>.</span><span class='id identifier rubyid_fetch'>fetch</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>http_proxy</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='kw'>nil</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='const'>ENV</span><span class='period'>.</span><span class='id identifier rubyid_fetch'>fetch</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>HTTP_PROXY</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='kw'>nil</span><span class='rparen'>)</span> |
| <span class='kw'>if</span> <span class='id identifier rubyid_http_proxy'>http_proxy</span> |
| <span class='id identifier rubyid_http_proxy'>http_proxy</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>http://</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_http_proxy'>http_proxy</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_http_proxy'>http_proxy</span><span class='period'>.</span><span class='id identifier rubyid_start_with?'>start_with?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>http://</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> |
| <span class='id identifier rubyid_uri'>uri</span> <span class='op'>=</span> <span class='const'>URI</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='id identifier rubyid_http_proxy'>http_proxy</span><span class='rparen'>)</span> |
| |
| <span class='const'>Net</span><span class='op'>::</span><span class='const'>HTTP</span><span class='period'>.</span><span class='id identifier rubyid_start'>start</span><span class='lparen'>(</span><span class='id identifier rubyid_address'>address</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_uri'>uri</span><span class='period'>.</span><span class='id identifier rubyid_host'>host</span><span class='comma'>,</span> <span class='id identifier rubyid_uri'>uri</span><span class='period'>.</span><span class='id identifier rubyid_port'>port</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span> |
| <span class='kw'>else</span> |
| <span class='const'>Net</span><span class='op'>::</span><span class='const'>HTTP</span><span class='period'>.</span><span class='id identifier rubyid_start'>start</span><span class='lparen'>(</span><span class='id identifier rubyid_address'>address</span><span class='comma'>,</span> <span class='label'>use_ssl:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span> |
| <span class='kw'>end</span> |
| <span class='kw'>end</span></pre> |
| </td> |
| </tr> |
| </table> |
| </div> |
| |
| </div> |
| |
| <div id="instance_method_details" class="method_details_list"> |
| <h2>Instance Method Details</h2> |
| |
| |
| <div class="method_details first"> |
| <h3 class="signature first" id="<<-instance_method"> |
| |
| #<strong><<</strong>(arg) ⇒ <tt>Object</tt> |
| |
| |
| |
| |
| |
| </h3><table class="source_code"> |
| <tr> |
| <td> |
| <pre class="lines"> |
| |
| |
| 237 |
| 238 |
| 239 |
| 240 |
| 241 |
| 242 |
| 243</pre> |
| </td> |
| <td> |
| <pre class="code"><span class="info file"># File 'rb/lib/selenium/server.rb', line 237</span> |
| |
| <span class='kw'>def</span> <span class='op'><<</span><span class='lparen'>(</span><span class='id identifier rubyid_arg'>arg</span><span class='rparen'>)</span> |
| <span class='kw'>if</span> <span class='id identifier rubyid_arg'>arg</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Array</span><span class='rparen'>)</span> |
| <span class='ivar'>@additional_args</span> <span class='op'>+=</span> <span class='id identifier rubyid_arg'>arg</span> |
| <span class='kw'>else</span> |
| <span class='ivar'>@additional_args</span> <span class='op'><<</span> <span class='id identifier rubyid_arg'>arg</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> |
| <span class='kw'>end</span> |
| <span class='kw'>end</span></pre> |
| </td> |
| </tr> |
| </table> |
| </div> |
| |
| <div class="method_details "> |
| <h3 class="signature " id="start-instance_method"> |
| |
| #<strong>start</strong> ⇒ <tt>Object</tt> |
| |
| |
| |
| |
| |
| </h3><table class="source_code"> |
| <tr> |
| <td> |
| <pre class="lines"> |
| |
| |
| 205 |
| 206 |
| 207 |
| 208 |
| 209 |
| 210</pre> |
| </td> |
| <td> |
| <pre class="code"><span class="info file"># File 'rb/lib/selenium/server.rb', line 205</span> |
| |
| <span class='kw'>def</span> <span class='id identifier rubyid_start'>start</span> |
| <span class='id identifier rubyid_process'>process</span><span class='period'>.</span><span class='id identifier rubyid_start'>start</span> |
| <span class='id identifier rubyid_poll_for_ready'>poll_for_ready</span> |
| |
| <span class='id identifier rubyid_process'>process</span><span class='period'>.</span><span class='id identifier rubyid_wait'>wait</span> <span class='kw'>unless</span> <span class='ivar'>@background</span> |
| <span class='kw'>end</span></pre> |
| </td> |
| </tr> |
| </table> |
| </div> |
| |
| <div class="method_details "> |
| <h3 class="signature " id="status_ok?-instance_method"> |
| |
| #<strong>status_ok?</strong> ⇒ <tt>Boolean</tt> |
| |
| |
| |
| |
| |
| </h3><div class="docstring"> |
| <div class="discussion"> |
| |
| |
| </div> |
| </div> |
| <div class="tags"> |
| |
| <p class="tag_title">Returns:</p> |
| <ul class="return"> |
| |
| <li> |
| |
| |
| <span class='type'>(<tt>Boolean</tt>)</span> |
| |
| |
| |
| </li> |
| |
| </ul> |
| |
| </div><table class="source_code"> |
| <tr> |
| <td> |
| <pre class="lines"> |
| |
| |
| 223 |
| 224 |
| 225 |
| 226 |
| 227 |
| 228 |
| 229 |
| 230 |
| 231 |
| 232 |
| 233 |
| 234 |
| 235</pre> |
| </td> |
| <td> |
| <pre class="code"><span class="info file"># File 'rb/lib/selenium/server.rb', line 223</span> |
| |
| <span class='kw'>def</span> <span class='id identifier rubyid_status_ok?'>status_ok?</span> |
| <span class='kw'>return</span> <span class='kw'>false</span> <span class='kw'>unless</span> <span class='ivar'>@process</span><span class='op'>&.</span><span class='id identifier rubyid_alive?'>alive?</span> <span class='op'>&&</span> <span class='id identifier rubyid_socket_connected?'>socket_connected?</span> |
| |
| <span class='const'>Net</span><span class='op'>::</span><span class='const'>HTTP</span><span class='period'>.</span><span class='id identifier rubyid_start'>start</span><span class='lparen'>(</span><span class='ivar'>@host</span><span class='comma'>,</span> <span class='ivar'>@port</span><span class='comma'>,</span> <span class='label'>open_timeout:</span> <span class='int'>2</span><span class='comma'>,</span> <span class='label'>read_timeout:</span> <span class='int'>2</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_http'>http</span><span class='op'>|</span> |
| <span class='id identifier rubyid_response'>response</span> <span class='op'>=</span> <span class='id identifier rubyid_http'>http</span><span class='period'>.</span><span class='id identifier rubyid_get'>get</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/status</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> |
| <span class='kw'>return</span> <span class='kw'>false</span> <span class='kw'>unless</span> <span class='id identifier rubyid_response'>response</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Net</span><span class='op'>::</span><span class='const'>HTTPSuccess</span><span class='rparen'>)</span> |
| |
| <span class='id identifier rubyid_status'>status</span> <span class='op'>=</span> <span class='const'>JSON</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='id identifier rubyid_response'>response</span><span class='period'>.</span><span class='id identifier rubyid_body'>body</span><span class='rparen'>)</span> |
| <span class='id identifier rubyid_status'>status</span><span class='period'>.</span><span class='id identifier rubyid_dig'>dig</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>value</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>ready</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='op'>==</span> <span class='kw'>true</span> |
| <span class='kw'>end</span> |
| <span class='kw'>rescue</span> <span class='const'>StandardError</span> |
| <span class='kw'>false</span> |
| <span class='kw'>end</span></pre> |
| </td> |
| </tr> |
| </table> |
| </div> |
| |
| <div class="method_details "> |
| <h3 class="signature " id="stop-instance_method"> |
| |
| #<strong>stop</strong> ⇒ <tt>Object</tt> |
| |
| |
| |
| |
| |
| </h3><table class="source_code"> |
| <tr> |
| <td> |
| <pre class="lines"> |
| |
| |
| 212 |
| 213 |
| 214 |
| 215 |
| 216 |
| 217</pre> |
| </td> |
| <td> |
| <pre class="code"><span class="info file"># File 'rb/lib/selenium/server.rb', line 212</span> |
| |
| <span class='kw'>def</span> <span class='id identifier rubyid_stop'>stop</span> |
| <span class='id identifier rubyid_stop_process'>stop_process</span> <span class='kw'>if</span> <span class='ivar'>@process</span> |
| <span class='id identifier rubyid_poll_for_shutdown'>poll_for_shutdown</span> |
| |
| <span class='ivar'>@log_file</span><span class='op'>&.</span><span class='id identifier rubyid_close'>close</span> |
| <span class='kw'>end</span></pre> |
| </td> |
| </tr> |
| </table> |
| </div> |
| |
| <div class="method_details "> |
| <h3 class="signature " id="webdriver_url-instance_method"> |
| |
| #<strong>webdriver_url</strong> ⇒ <tt>Object</tt> |
| |
| |
| |
| |
| |
| </h3><table class="source_code"> |
| <tr> |
| <td> |
| <pre class="lines"> |
| |
| |
| 219 |
| 220 |
| 221</pre> |
| </td> |
| <td> |
| <pre class="code"><span class="info file"># File 'rb/lib/selenium/server.rb', line 219</span> |
| |
| <span class='kw'>def</span> <span class='id identifier rubyid_webdriver_url'>webdriver_url</span> |
| <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>http://</span><span class='embexpr_beg'>#{</span><span class='ivar'>@host</span><span class='embexpr_end'>}</span><span class='tstring_content'>:</span><span class='embexpr_beg'>#{</span><span class='ivar'>@port</span><span class='embexpr_end'>}</span><span class='tstring_content'>/wd/hub</span><span class='tstring_end'>"</span></span> |
| <span class='kw'>end</span></pre> |
| </td> |
| </tr> |
| </table> |
| </div> |
| |
| </div> |
| |
| </div> |
| |
| <div id="footer"> |
| Generated on Sun Jan 18 18:47:56 2026 by |
| <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a> |
| 0.9.38 (ruby-3.2.9). |
| </div> |
| |
| </div> |
| </body> |
| </html> |