Repository files navigation

Selenium

ChocolateyAppVeyor branch

Installs and configures selenium standalone, hub, or node server from https://github.com/SeleniumHQ/selenium/.

A Vagrantfile to provision a Selenium-Grid on Windows 10 with latest browsers and drivers for Chrome, Edge, Firefox, and IE is available. See TESTING.md for more information.

DISCLAIMER: This package is not part of the official Selenium project.

Prerequisites

  • Java, Browser(s), and Browser WebDriver(s) must be installed prior to installing selenium
  • Non-Sucking Service Manager (NSSM) --pre version is required when using /service option

Quick Start

Standalone

Install standalone server using port 8888 instead of default 4444, and write to a log file instead of stdout:

choco install -y jdk10 firefox selenium-gecko-driver googlechrome selenium-chrome-driver selenium-ie-driver
choco install -y selenium --params "'/port:8888 /log'"

Start the standalone server: Start > Selenium > Selenium Standalone. Verify standalone server is available by opening Selenium Standalone console http://localhost:8888/wd/hub/static/resource/hub.html.

Hub

Install hub as a Windows service that will autostart on reboot:

choco install -y nssm --pre
choco install -y jdk10
choco install -y selenium --params "'/role:hub /service /autostart'"

Selenium hub server should be started automatically. Verify hub server is available by opening Selenium Grid Hub console http://localhost:4444/grid/console.

Node

Install node as startup script that will autostart on logon and support only chrome browser capabilities instead of the default capabilities:

$capabilitiesJson = "C:\tools\selenium\chromeonlycapabilities.json"
@'
[
{
"browserName": "chrome",
"maxInstances": 5,
"version": "autoversion",
"seleniumProtocol": "WebDriver"
}
]
'@ | New-Item $capabilitiesJson -Type file -Force
choco install -y jdk10 googlechrome selenium-chrome-driver
choco install -y selenium --params "'/role:node /hub:http://localhost:4444 /capabilitiesJson:$capabilitiesJson /autostart'"

Start the node server: Start > Selenium > Selenium Node. Verify node server is available by opening Selenium Grid Hub console http://localhost:4444/grid/console and seeing the node attached.

Note that for Firefox, Chrome, and Internet Explorer; when capability version is set to "autoversion", the installer will attempt to automatically determine and set the version.

AutoLogon

The autostart will start the non-Windows services when you logon. But to make that happen automatically, you need to install the autologon package and run autologon <username> <domain> <password> once to set it up:

choco install -y autologon
autologon $env:username $env:userdomain redacted

IE Driver

Internet Explorer will require additional configuration in order for the IE Driver to work. A PowerShell script ie-configuration.ps1 is available to configure IE. This script has been tested on Windows Server 2012R2, Windows Server 2016, and Windows 10.

Screen Resolution

If you need to set the screen resolution different from default, check out the screen-resolution package.

Usage

Windows service is available, but it is only recommended for the hub role. The non-Windows service requires a logon to allow selenium access to the GUI to drive the browser. See AutoLogon section for information on how to configure Windows to logon automatically.

The files installed or generated (selenium-server-standalone.jar, *capabilites.json, *config.json, *.cmd, and *.log) are typically located in the C:/tools/selenium directory.

A firewall rule is automatically created to allow traffic to the hub or node service port.

Package Parameters

The following package parameters can be set:

General

These parameters are available on all roles:

  • /role: - Options are hub, node, or standalone. Default: standalone.
  • /log - Log to <Get-ToolsLocation>\selenium\<role>.log instead of to STDOUT. Default false.
  • /javaoptions: - Additional options to pass to Java, e.g., -Dwebdriver.chrome.driver=./chromedriver.exe. Default: ''.
  • /debug - Enables LogLevel.FINE. Default: false.
  • /service - Add as a Windows service instead of as a startup script. Note that a Windows service can't drive a GUI, so it is only recommended for the hub role. Default: false.
  • /autostart - Set Windows services to start automatically on reboot or set startup scripts to start on logon. Default: false.

Standalone

  • /browserTimeout: - In seconds : number of seconds a browser session is allowed to hang while a WebDriver command is running (example: driver.get(url)). If the timeout is reached while a WebDriver command is still processing, the session will quit. Minimum value is 60. An unspecified, zero, or negative value means wait indefinitely. Default: 0.
  • /enablePassThrough - Default: true.
  • /port: - The port number the server will use. Default: 4444.
  • /timeout: - In seconds : Specifies the timeout before the server automatically kills a session that hasn't had any activity in the last X seconds. The test slot will then be released for another test to use. This is typically used to take care of client crashes. For grid hub/node roles, cleanUpCycle must also be set. Default: 1800.

Hub

  • /browserTimeout: - In seconds : number of seconds a browser session is allowed to hang while a WebDriver command is running (example: driver.get(url)). If the timeout is reached while a WebDriver command is still processing, the session will quit. Minimum value is 60. An unspecified, zero, or negative value means wait indefinitely. Default: 0.
  • /capabilityMatcher: - Default: org.openqa.grid.internal.utils.DefaultCapabilityMatcher.
  • /cleanUpCycle: - In ms : specifies how often the hub will poll running proxies for timed-out (i.e. hung) threads. Must also specify "timeout" option. Default: 5000.
  • /newSessionWaitTimeout: - Default: -1.
  • /port: - The port number the server will use. Default: 4444.
  • /servlets: - List of default (hub or node) servlets to enable. Advanced use cases only. Specify multiple servlets: tld.company.ServletA,tld.company.ServletB. The servlet must exist in the path: /grid/admin/ServletA /grid/admin/ServletB.
  • /throwOnCapabilityNotPresent - Default: true.
  • /timeout: - In seconds : Specifies the timeout before the server automatically kills a session that hasn't had any activity in the last X seconds. The test slot will then be released for another test to use. This is typically used to take care of client crashes. For grid hub/node roles, cleanUpCycle must also be set. Default: 1800.
  • /withoutServlets: - List of default (hub or node) servlets to disable. Advanced use cases only. Not all default servlets can be disabled. Specify multiple servlets: [tld.company.ServletA,tld.company.ServletB].

Node

  • /capabilitiesJson: - The JSON file containing capabilities. A capabilities.json is provided by default. For Chrome, Edge, Firefox, and Internet Explorer; when version is set to "autoversion", the installer will attempt to automatically determine and set the version. Default: '<Get-ToolsLocation>\selenium\capabilities.json'.
  • /hub: - The url that will be used to post the registration request. This option takes precedence over -hubHost and -hubPort options. Default: http://localhost:4444.
  • /downPollingLimit: - Node is marked as "down" if the node hasn't responded after the number of checks specified. Default: 2.
  • /maxSession: - Max number of tests that can run at the same time on the node, irrespective of the browser used. Default: 5.
  • /nodePolling: - In ms : specifies how often the hub will poll to see if the node is still responding. Default: 5000.
  • /nodeStatusCheckTimeout: - In ms : connection/socket timeout, used for node "nodePolling" check. Default: 5000.
  • /port: - The port number the server will use. Default: 5555.
  • /proxy: - The class used to represent the node proxy. Default: org.openqa.grid.selenium.proxy.DefaultRemoteProxy
  • /register - If specified, node will attempt to re-register itself automatically with its known grid hub if the hub becomes unavailable. Default: true.
  • /registerCycle: - In ms : specifies how often the node will try to register itself again. Allows administrator to restart the hub without restarting (or risk orphaning) registered nodes. Must be specified with the "-register" option. Default: 5000.
  • /servlets: - List of default (hub or node) servlets to enable. Advanced use cases only. Specify multiple servlets: [tld.company.ServletA,tld.company.ServletB]. The servlet must exist in the path: /grid/admin/ServletA /grid/admin/ServletB.
  • /timeout: - In seconds : Specifies the timeout before the server automatically kills a session that hasn't had any activity in the last X seconds. The test slot will then be released for another test to use. This is typically used to take care of client crashes. For grid hub/node roles, cleanUpCycle must also be set. Default: 1800.
  • /unregisterIfStillDownAfter - In ms : if the node remains down for more than unregisterIfStillDownAfter ms, it will stop attempting to re-register from the hub. Default: 60000.
  • /withoutServlets: - List of default (hub or node) servlets to disable. Advanced use cases only. Not all default servlets can be disabled. Specify multiple servlets: @(tld.company.ServletA,tld.company.ServletB).

These parameters can be passed to the installer with the use of --params. For example: --params "'/role:node /hub:http://localhost:4444'".

About

Installs and configures selenium standalone, hub, or node server

Topics

Resources

Stars

18 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Selenium

ChocolateyAppVeyor branch

Installs and configures selenium standalone, hub, or node server from https://github.com/SeleniumHQ/selenium/.

A Vagrantfile to provision a Selenium-Grid on Windows 10 with latest browsers and drivers for Chrome, Edge, Firefox, and IE is available. See TESTING.md for more information.

DISCLAIMER: This package is not part of the official Selenium project.

Prerequisites

  • Java, Browser(s), and Browser WebDriver(s) must be installed prior to installing selenium
  • Non-Sucking Service Manager (NSSM) --pre version is required when using /service option

Quick Start

Standalone

Install standalone server using port 8888 instead of default 4444, and write to a log file instead of stdout:

choco install -y jdk10 firefox selenium-gecko-driver googlechrome selenium-chrome-driver selenium-ie-driver
choco install -y selenium --params "'/port:8888 /log'"

Start the standalone server: Start > Selenium > Selenium Standalone. Verify standalone server is available by opening Selenium Standalone console http://localhost:8888/wd/hub/static/resource/hub.html.

Hub

Install hub as a Windows service that will autostart on reboot:

choco install -y nssm --pre
choco install -y jdk10
choco install -y selenium --params "'/role:hub /service /autostart'"

Selenium hub server should be started automatically. Verify hub server is available by opening Selenium Grid Hub console http://localhost:4444/grid/console.

Node

Install node as startup script that will autostart on logon and support only chrome browser capabilities instead of the default capabilities:

$capabilitiesJson = "C:\tools\selenium\chromeonlycapabilities.json"
@'
[
{
"browserName": "chrome",
"maxInstances": 5,
"version": "autoversion",
"seleniumProtocol": "WebDriver"
}
]
'@ | New-Item $capabilitiesJson -Type file -Force
choco install -y jdk10 googlechrome selenium-chrome-driver
choco install -y selenium --params "'/role:node /hub:http://localhost:4444 /capabilitiesJson:$capabilitiesJson /autostart'"

Start the node server: Start > Selenium > Selenium Node. Verify node server is available by opening Selenium Grid Hub console http://localhost:4444/grid/console and seeing the node attached.

Note that for Firefox, Chrome, and Internet Explorer; when capability version is set to "autoversion", the installer will attempt to automatically determine and set the version.

AutoLogon

The autostart will start the non-Windows services when you logon. But to make that happen automatically, you need to install the autologon package and run autologon <username> <domain> <password> once to set it up:

choco install -y autologon
autologon $env:username $env:userdomain redacted

IE Driver

Internet Explorer will require additional configuration in order for the IE Driver to work. A PowerShell script ie-configuration.ps1 is available to configure IE. This script has been tested on Windows Server 2012R2, Windows Server 2016, and Windows 10.

Screen Resolution

If you need to set the screen resolution different from default, check out the screen-resolution package.

Usage

Windows service is available, but it is only recommended for the hub role. The non-Windows service requires a logon to allow selenium access to the GUI to drive the browser. See AutoLogon section for information on how to configure Windows to logon automatically.

The files installed or generated (selenium-server-standalone.jar, *capabilites.json, *config.json, *.cmd, and *.log) are typically located in the C:/tools/selenium directory.

A firewall rule is automatically created to allow traffic to the hub or node service port.

Package Parameters

The following package parameters can be set:

General

These parameters are available on all roles:

  • /role: - Options are hub, node, or standalone. Default: standalone.
  • /log - Log to <Get-ToolsLocation>\selenium\<role>.log instead of to STDOUT. Default false.
  • /javaoptions: - Additional options to pass to Java, e.g., -Dwebdriver.chrome.driver=./chromedriver.exe. Default: ''.
  • /debug - Enables LogLevel.FINE. Default: false.
  • /service - Add as a Windows service instead of as a startup script. Note that a Windows service can't drive a GUI, so it is only recommended for the hub role. Default: false.
  • /autostart - Set Windows services to start automatically on reboot or set startup scripts to start on logon. Default: false.

Standalone

  • /browserTimeout: - In seconds : number of seconds a browser session is allowed to hang while a WebDriver command is running (example: driver.get(url)). If the timeout is reached while a WebDriver command is still processing, the session will quit. Minimum value is 60. An unspecified, zero, or negative value means wait indefinitely. Default: 0.
  • /enablePassThrough - Default: true.
  • /port: - The port number the server will use. Default: 4444.
  • /timeout: - In seconds : Specifies the timeout before the server automatically kills a session that hasn't had any activity in the last X seconds. The test slot will then be released for another test to use. This is typically used to take care of client crashes. For grid hub/node roles, cleanUpCycle must also be set. Default: 1800.

Hub

  • /browserTimeout: - In seconds : number of seconds a browser session is allowed to hang while a WebDriver command is running (example: driver.get(url)). If the timeout is reached while a WebDriver command is still processing, the session will quit. Minimum value is 60. An unspecified, zero, or negative value means wait indefinitely. Default: 0.
  • /capabilityMatcher: - Default: org.openqa.grid.internal.utils.DefaultCapabilityMatcher.
  • /cleanUpCycle: - In ms : specifies how often the hub will poll running proxies for timed-out (i.e. hung) threads. Must also specify "timeout" option. Default: 5000.
  • /newSessionWaitTimeout: - Default: -1.
  • /port: - The port number the server will use. Default: 4444.
  • /servlets: - List of default (hub or node) servlets to enable. Advanced use cases only. Specify multiple servlets: tld.company.ServletA,tld.company.ServletB. The servlet must exist in the path: /grid/admin/ServletA /grid/admin/ServletB.
  • /throwOnCapabilityNotPresent - Default: true.
  • /timeout: - In seconds : Specifies the timeout before the server automatically kills a session that hasn't had any activity in the last X seconds. The test slot will then be released for another test to use. This is typically used to take care of client crashes. For grid hub/node roles, cleanUpCycle must also be set. Default: 1800.
  • /withoutServlets: - List of default (hub or node) servlets to disable. Advanced use cases only. Not all default servlets can be disabled. Specify multiple servlets: [tld.company.ServletA,tld.company.ServletB].

Node

  • /capabilitiesJson: - The JSON file containing capabilities. A capabilities.json is provided by default. For Chrome, Edge, Firefox, and Internet Explorer; when version is set to "autoversion", the installer will attempt to automatically determine and set the version. Default: '<Get-ToolsLocation>\selenium\capabilities.json'.
  • /hub: - The url that will be used to post the registration request. This option takes precedence over -hubHost and -hubPort options. Default: http://localhost:4444.
  • /downPollingLimit: - Node is marked as "down" if the node hasn't responded after the number of checks specified. Default: 2.
  • /maxSession: - Max number of tests that can run at the same time on the node, irrespective of the browser used. Default: 5.
  • /nodePolling: - In ms : specifies how often the hub will poll to see if the node is still responding. Default: 5000.
  • /nodeStatusCheckTimeout: - In ms : connection/socket timeout, used for node "nodePolling" check. Default: 5000.
  • /port: - The port number the server will use. Default: 5555.
  • /proxy: - The class used to represent the node proxy. Default: org.openqa.grid.selenium.proxy.DefaultRemoteProxy
  • /register - If specified, node will attempt to re-register itself automatically with its known grid hub if the hub becomes unavailable. Default: true.
  • /registerCycle: - In ms : specifies how often the node will try to register itself again. Allows administrator to restart the hub without restarting (or risk orphaning) registered nodes. Must be specified with the "-register" option. Default: 5000.
  • /servlets: - List of default (hub or node) servlets to enable. Advanced use cases only. Specify multiple servlets: [tld.company.ServletA,tld.company.ServletB]. The servlet must exist in the path: /grid/admin/ServletA /grid/admin/ServletB.
  • /timeout: - In seconds : Specifies the timeout before the server automatically kills a session that hasn't had any activity in the last X seconds. The test slot will then be released for another test to use. This is typically used to take care of client crashes. For grid hub/node roles, cleanUpCycle must also be set. Default: 1800.
  • /unregisterIfStillDownAfter - In ms : if the node remains down for more than unregisterIfStillDownAfter ms, it will stop attempting to re-register from the hub. Default: 60000.
  • /withoutServlets: - List of default (hub or node) servlets to disable. Advanced use cases only. Not all default servlets can be disabled. Specify multiple servlets: @(tld.company.ServletA,tld.company.ServletB).

These parameters can be passed to the installer with the use of --params. For example: --params "'/role:node /hub:http://localhost:4444'".

About

Installs and configures selenium standalone, hub, or node server

Topics

Resources

Stars

18 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Selenium

ChocolateyAppVeyor branch

Installs and configures selenium standalone, hub, or node server from https://github.com/SeleniumHQ/selenium/.

A Vagrantfile to provision a Selenium-Grid on Windows 10 with latest browsers and drivers for Chrome, Edge, Firefox, and IE is available. See TESTING.md for more information.

DISCLAIMER: This package is not part of the official Selenium project.

Prerequisites

  • Java, Browser(s), and Browser WebDriver(s) must be installed prior to installing selenium
  • Non-Sucking Service Manager (NSSM) --pre version is required when using /service option

Quick Start

Standalone

Install standalone server using port 8888 instead of default 4444, and write to a log file instead of stdout:

choco install -y jdk10 firefox selenium-gecko-driver googlechrome selenium-chrome-driver selenium-ie-driver
choco install -y selenium --params "'/port:8888 /log'"

Start the standalone server: Start > Selenium > Selenium Standalone. Verify standalone server is available by opening Selenium Standalone console http://localhost:8888/wd/hub/static/resource/hub.html.

Hub

Install hub as a Windows service that will autostart on reboot:

choco install -y nssm --pre
choco install -y jdk10
choco install -y selenium --params "'/role:hub /service /autostart'"

Selenium hub server should be started automatically. Verify hub server is available by opening Selenium Grid Hub console http://localhost:4444/grid/console.

Node

Install node as startup script that will autostart on logon and support only chrome browser capabilities instead of the default capabilities:

$capabilitiesJson = "C:\tools\selenium\chromeonlycapabilities.json"
@'
[
{
"browserName": "chrome",
"maxInstances": 5,
"version": "autoversion",
"seleniumProtocol": "WebDriver"
}
]
'@ | New-Item $capabilitiesJson -Type file -Force
choco install -y jdk10 googlechrome selenium-chrome-driver
choco install -y selenium --params "'/role:node /hub:http://localhost:4444 /capabilitiesJson:$capabilitiesJson /autostart'"

Start the node server: Start > Selenium > Selenium Node. Verify node server is available by opening Selenium Grid Hub console http://localhost:4444/grid/console and seeing the node attached.

Note that for Firefox, Chrome, and Internet Explorer; when capability version is set to "autoversion", the installer will attempt to automatically determine and set the version.

AutoLogon

The autostart will start the non-Windows services when you logon. But to make that happen automatically, you need to install the autologon package and run autologon <username> <domain> <password> once to set it up:

choco install -y autologon
autologon $env:username $env:userdomain redacted

IE Driver

Internet Explorer will require additional configuration in order for the IE Driver to work. A PowerShell script ie-configuration.ps1 is available to configure IE. This script has been tested on Windows Server 2012R2, Windows Server 2016, and Windows 10.

Screen Resolution

If you need to set the screen resolution different from default, check out the screen-resolution package.

Usage

Windows service is available, but it is only recommended for the hub role. The non-Windows service requires a logon to allow selenium access to the GUI to drive the browser. See AutoLogon section for information on how to configure Windows to logon automatically.

The files installed or generated (selenium-server-standalone.jar, *capabilites.json, *config.json, *.cmd, and *.log) are typically located in the C:/tools/selenium directory.

A firewall rule is automatically created to allow traffic to the hub or node service port.

Package Parameters

The following package parameters can be set:

General

These parameters are available on all roles:

  • /role: - Options are hub, node, or standalone. Default: standalone.
  • /log - Log to <Get-ToolsLocation>\selenium\<role>.log instead of to STDOUT. Default false.
  • /javaoptions: - Additional options to pass to Java, e.g., -Dwebdriver.chrome.driver=./chromedriver.exe. Default: ''.
  • /debug - Enables LogLevel.FINE. Default: false.
  • /service - Add as a Windows service instead of as a startup script. Note that a Windows service can't drive a GUI, so it is only recommended for the hub role. Default: false.
  • /autostart - Set Windows services to start automatically on reboot or set startup scripts to start on logon. Default: false.

Standalone

  • /browserTimeout: - In seconds : number of seconds a browser session is allowed to hang while a WebDriver command is running (example: driver.get(url)). If the timeout is reached while a WebDriver command is still processing, the session will quit. Minimum value is 60. An unspecified, zero, or negative value means wait indefinitely. Default: 0.
  • /enablePassThrough - Default: true.
  • /port: - The port number the server will use. Default: 4444.
  • /timeout: - In seconds : Specifies the timeout before the server automatically kills a session that hasn't had any activity in the last X seconds. The test slot will then be released for another test to use. This is typically used to take care of client crashes. For grid hub/node roles, cleanUpCycle must also be set. Default: 1800.

Hub

  • /browserTimeout: - In seconds : number of seconds a browser session is allowed to hang while a WebDriver command is running (example: driver.get(url)). If the timeout is reached while a WebDriver command is still processing, the session will quit. Minimum value is 60. An unspecified, zero, or negative value means wait indefinitely. Default: 0.
  • /capabilityMatcher: - Default: org.openqa.grid.internal.utils.DefaultCapabilityMatcher.
  • /cleanUpCycle: - In ms : specifies how often the hub will poll running proxies for timed-out (i.e. hung) threads. Must also specify "timeout" option. Default: 5000.
  • /newSessionWaitTimeout: - Default: -1.
  • /port: - The port number the server will use. Default: 4444.
  • /servlets: - List of default (hub or node) servlets to enable. Advanced use cases only. Specify multiple servlets: tld.company.ServletA,tld.company.ServletB. The servlet must exist in the path: /grid/admin/ServletA /grid/admin/ServletB.
  • /throwOnCapabilityNotPresent - Default: true.
  • /timeout: - In seconds : Specifies the timeout before the server automatically kills a session that hasn't had any activity in the last X seconds. The test slot will then be released for another test to use. This is typically used to take care of client crashes. For grid hub/node roles, cleanUpCycle must also be set. Default: 1800.
  • /withoutServlets: - List of default (hub or node) servlets to disable. Advanced use cases only. Not all default servlets can be disabled. Specify multiple servlets: [tld.company.ServletA,tld.company.ServletB].

Node

  • /capabilitiesJson: - The JSON file containing capabilities. A capabilities.json is provided by default. For Chrome, Edge, Firefox, and Internet Explorer; when version is set to "autoversion", the installer will attempt to automatically determine and set the version. Default: '<Get-ToolsLocation>\selenium\capabilities.json'.
  • /hub: - The url that will be used to post the registration request. This option takes precedence over -hubHost and -hubPort options. Default: http://localhost:4444.
  • /downPollingLimit: - Node is marked as "down" if the node hasn't responded after the number of checks specified. Default: 2.
  • /maxSession: - Max number of tests that can run at the same time on the node, irrespective of the browser used. Default: 5.
  • /nodePolling: - In ms : specifies how often the hub will poll to see if the node is still responding. Default: 5000.
  • /nodeStatusCheckTimeout: - In ms : connection/socket timeout, used for node "nodePolling" check. Default: 5000.
  • /port: - The port number the server will use. Default: 5555.
  • /proxy: - The class used to represent the node proxy. Default: org.openqa.grid.selenium.proxy.DefaultRemoteProxy
  • /register - If specified, node will attempt to re-register itself automatically with its known grid hub if the hub becomes unavailable. Default: true.
  • /registerCycle: - In ms : specifies how often the node will try to register itself again. Allows administrator to restart the hub without restarting (or risk orphaning) registered nodes. Must be specified with the "-register" option. Default: 5000.
  • /servlets: - List of default (hub or node) servlets to enable. Advanced use cases only. Specify multiple servlets: [tld.company.ServletA,tld.company.ServletB]. The servlet must exist in the path: /grid/admin/ServletA /grid/admin/ServletB.
  • /timeout: - In seconds : Specifies the timeout before the server automatically kills a session that hasn't had any activity in the last X seconds. The test slot will then be released for another test to use. This is typically used to take care of client crashes. For grid hub/node roles, cleanUpCycle must also be set. Default: 1800.
  • /unregisterIfStillDownAfter - In ms : if the node remains down for more than unregisterIfStillDownAfter ms, it will stop attempting to re-register from the hub. Default: 60000.
  • /withoutServlets: - List of default (hub or node) servlets to disable. Advanced use cases only. Not all default servlets can be disabled. Specify multiple servlets: @(tld.company.ServletA,tld.company.ServletB).

These parameters can be passed to the installer with the use of --params. For example: --params "'/role:node /hub:http://localhost:4444'".

About

Installs and configures selenium standalone, hub, or node server

Topics

Resources

Stars

18 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Selenium

ChocolateyAppVeyor branch

Installs and configures selenium standalone, hub, or node server from https://github.com/SeleniumHQ/selenium/.

A Vagrantfile to provision a Selenium-Grid on Windows 10 with latest browsers and drivers for Chrome, Edge, Firefox, and IE is available. See TESTING.md for more information.

DISCLAIMER: This package is not part of the official Selenium project.

Prerequisites

  • Java, Browser(s), and Browser WebDriver(s) must be installed prior to installing selenium
  • Non-Sucking Service Manager (NSSM) --pre version is required when using /service option

Quick Start

Standalone

Install standalone server using port 8888 instead of default 4444, and write to a log file instead of stdout:

choco install -y jdk10 firefox selenium-gecko-driver googlechrome selenium-chrome-driver selenium-ie-driver
choco install -y selenium --params "'/port:8888 /log'"

Start the standalone server: Start > Selenium > Selenium Standalone. Verify standalone server is available by opening Selenium Standalone console http://localhost:8888/wd/hub/static/resource/hub.html.

Hub

Install hub as a Windows service that will autostart on reboot:

choco install -y nssm --pre
choco install -y jdk10
choco install -y selenium --params "'/role:hub /service /autostart'"

Selenium hub server should be started automatically. Verify hub server is available by opening Selenium Grid Hub console http://localhost:4444/grid/console.

Node

Install node as startup script that will autostart on logon and support only chrome browser capabilities instead of the default capabilities:

$capabilitiesJson = "C:\tools\selenium\chromeonlycapabilities.json"
@'
[
{
"browserName": "chrome",
"maxInstances": 5,
"version": "autoversion",
"seleniumProtocol": "WebDriver"
}
]
'@ | New-Item $capabilitiesJson -Type file -Force
choco install -y jdk10 googlechrome selenium-chrome-driver
choco install -y selenium --params "'/role:node /hub:http://localhost:4444 /capabilitiesJson:$capabilitiesJson /autostart'"

Start the node server: Start > Selenium > Selenium Node. Verify node server is available by opening Selenium Grid Hub console http://localhost:4444/grid/console and seeing the node attached.

Note that for Firefox, Chrome, and Internet Explorer; when capability version is set to "autoversion", the installer will attempt to automatically determine and set the version.

AutoLogon

The autostart will start the non-Windows services when you logon. But to make that happen automatically, you need to install the autologon package and run autologon <username> <domain> <password> once to set it up:

choco install -y autologon
autologon $env:username $env:userdomain redacted

IE Driver

Internet Explorer will require additional configuration in order for the IE Driver to work. A PowerShell script ie-configuration.ps1 is available to configure IE. This script has been tested on Windows Server 2012R2, Windows Server 2016, and Windows 10.

Screen Resolution

If you need to set the screen resolution different from default, check out the screen-resolution package.

Usage

Windows service is available, but it is only recommended for the hub role. The non-Windows service requires a logon to allow selenium access to the GUI to drive the browser. See AutoLogon section for information on how to configure Windows to logon automatically.

The files installed or generated (selenium-server-standalone.jar, *capabilites.json, *config.json, *.cmd, and *.log) are typically located in the C:/tools/selenium directory.

A firewall rule is automatically created to allow traffic to the hub or node service port.

Package Parameters

The following package parameters can be set:

General

These parameters are available on all roles:

  • /role: - Options are hub, node, or standalone. Default: standalone.
  • /log - Log to <Get-ToolsLocation>\selenium\<role>.log instead of to STDOUT. Default false.
  • /javaoptions: - Additional options to pass to Java, e.g., -Dwebdriver.chrome.driver=./chromedriver.exe. Default: ''.
  • /debug - Enables LogLevel.FINE. Default: false.
  • /service - Add as a Windows service instead of as a startup script. Note that a Windows service can't drive a GUI, so it is only recommended for the hub role. Default: false.
  • /autostart - Set Windows services to start automatically on reboot or set startup scripts to start on logon. Default: false.

Standalone

  • /browserTimeout: - In seconds : number of seconds a browser session is allowed to hang while a WebDriver command is running (example: driver.get(url)). If the timeout is reached while a WebDriver command is still processing, the session will quit. Minimum value is 60. An unspecified, zero, or negative value means wait indefinitely. Default: 0.
  • /enablePassThrough - Default: true.
  • /port: - The port number the server will use. Default: 4444.
  • /timeout: - In seconds : Specifies the timeout before the server automatically kills a session that hasn't had any activity in the last X seconds. The test slot will then be released for another test to use. This is typically used to take care of client crashes. For grid hub/node roles, cleanUpCycle must also be set. Default: 1800.

Hub

  • /browserTimeout: - In seconds : number of seconds a browser session is allowed to hang while a WebDriver command is running (example: driver.get(url)). If the timeout is reached while a WebDriver command is still processing, the session will quit. Minimum value is 60. An unspecified, zero, or negative value means wait indefinitely. Default: 0.
  • /capabilityMatcher: - Default: org.openqa.grid.internal.utils.DefaultCapabilityMatcher.
  • /cleanUpCycle: - In ms : specifies how often the hub will poll running proxies for timed-out (i.e. hung) threads. Must also specify "timeout" option. Default: 5000.
  • /newSessionWaitTimeout: - Default: -1.
  • /port: - The port number the server will use. Default: 4444.
  • /servlets: - List of default (hub or node) servlets to enable. Advanced use cases only. Specify multiple servlets: tld.company.ServletA,tld.company.ServletB. The servlet must exist in the path: /grid/admin/ServletA /grid/admin/ServletB.
  • /throwOnCapabilityNotPresent - Default: true.
  • /timeout: - In seconds : Specifies the timeout before the server automatically kills a session that hasn't had any activity in the last X seconds. The test slot will then be released for another test to use. This is typically used to take care of client crashes. For grid hub/node roles, cleanUpCycle must also be set. Default: 1800.
  • /withoutServlets: - List of default (hub or node) servlets to disable. Advanced use cases only. Not all default servlets can be disabled. Specify multiple servlets: [tld.company.ServletA,tld.company.ServletB].

Node

  • /capabilitiesJson: - The JSON file containing capabilities. A capabilities.json is provided by default. For Chrome, Edge, Firefox, and Internet Explorer; when version is set to "autoversion", the installer will attempt to automatically determine and set the version. Default: '<Get-ToolsLocation>\selenium\capabilities.json'.
  • /hub: - The url that will be used to post the registration request. This option takes precedence over -hubHost and -hubPort options. Default: http://localhost:4444.
  • /downPollingLimit: - Node is marked as "down" if the node hasn't responded after the number of checks specified. Default: 2.
  • /maxSession: - Max number of tests that can run at the same time on the node, irrespective of the browser used. Default: 5.
  • /nodePolling: - In ms : specifies how often the hub will poll to see if the node is still responding. Default: 5000.
  • /nodeStatusCheckTimeout: - In ms : connection/socket timeout, used for node "nodePolling" check. Default: 5000.
  • /port: - The port number the server will use. Default: 5555.
  • /proxy: - The class used to represent the node proxy. Default: org.openqa.grid.selenium.proxy.DefaultRemoteProxy
  • /register - If specified, node will attempt to re-register itself automatically with its known grid hub if the hub becomes unavailable. Default: true.
  • /registerCycle: - In ms : specifies how often the node will try to register itself again. Allows administrator to restart the hub without restarting (or risk orphaning) registered nodes. Must be specified with the "-register" option. Default: 5000.
  • /servlets: - List of default (hub or node) servlets to enable. Advanced use cases only. Specify multiple servlets: [tld.company.ServletA,tld.company.ServletB]. The servlet must exist in the path: /grid/admin/ServletA /grid/admin/ServletB.
  • /timeout: - In seconds : Specifies the timeout before the server automatically kills a session that hasn't had any activity in the last X seconds. The test slot will then be released for another test to use. This is typically used to take care of client crashes. For grid hub/node roles, cleanUpCycle must also be set. Default: 1800.
  • /unregisterIfStillDownAfter - In ms : if the node remains down for more than unregisterIfStillDownAfter ms, it will stop attempting to re-register from the hub. Default: 60000.
  • /withoutServlets: - List of default (hub or node) servlets to disable. Advanced use cases only. Not all default servlets can be disabled. Specify multiple servlets: @(tld.company.ServletA,tld.company.ServletB).

These parameters can be passed to the installer with the use of --params. For example: --params "'/role:node /hub:http://localhost:4444'".

About

Installs and configures selenium standalone, hub, or node server

Topics

Resources

Stars

18 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Selenium

ChocolateyAppVeyor branch

Installs and configures selenium standalone, hub, or node server from https://github.com/SeleniumHQ/selenium/.

A Vagrantfile to provision a Selenium-Grid on Windows 10 with latest browsers and drivers for Chrome, Edge, Firefox, and IE is available. See TESTING.md for more information.

DISCLAIMER: This package is not part of the official Selenium project.

Prerequisites

  • Java, Browser(s), and Browser WebDriver(s) must be installed prior to installing selenium
  • Non-Sucking Service Manager (NSSM) --pre version is required when using /service option

Quick Start

Standalone

Install standalone server using port 8888 instead of default 4444, and write to a log file instead of stdout:

choco install -y jdk10 firefox selenium-gecko-driver googlechrome selenium-chrome-driver selenium-ie-driver
choco install -y selenium --params "'/port:8888 /log'"

Start the standalone server: Start > Selenium > Selenium Standalone. Verify standalone server is available by opening Selenium Standalone console http://localhost:8888/wd/hub/static/resource/hub.html.

Hub

Install hub as a Windows service that will autostart on reboot:

choco install -y nssm --pre
choco install -y jdk10
choco install -y selenium --params "'/role:hub /service /autostart'"

Selenium hub server should be started automatically. Verify hub server is available by opening Selenium Grid Hub console http://localhost:4444/grid/console.

Node

Install node as startup script that will autostart on logon and support only chrome browser capabilities instead of the default capabilities:

$capabilitiesJson = "C:\tools\selenium\chromeonlycapabilities.json"
@'
[
{
"browserName": "chrome",
"maxInstances": 5,
"version": "autoversion",
"seleniumProtocol": "WebDriver"
}
]
'@ | New-Item $capabilitiesJson -Type file -Force
choco install -y jdk10 googlechrome selenium-chrome-driver
choco install -y selenium --params "'/role:node /hub:http://localhost:4444 /capabilitiesJson:$capabilitiesJson /autostart'"

Start the node server: Start > Selenium > Selenium Node. Verify node server is available by opening Selenium Grid Hub console http://localhost:4444/grid/console and seeing the node attached.

Note that for Firefox, Chrome, and Internet Explorer; when capability version is set to "autoversion", the installer will attempt to automatically determine and set the version.

AutoLogon

The autostart will start the non-Windows services when you logon. But to make that happen automatically, you need to install the autologon package and run autologon <username> <domain> <password> once to set it up:

choco install -y autologon
autologon $env:username $env:userdomain redacted

IE Driver

Internet Explorer will require additional configuration in order for the IE Driver to work. A PowerShell script ie-configuration.ps1 is available to configure IE. This script has been tested on Windows Server 2012R2, Windows Server 2016, and Windows 10.

Screen Resolution

If you need to set the screen resolution different from default, check out the screen-resolution package.

Usage

Windows service is available, but it is only recommended for the hub role. The non-Windows service requires a logon to allow selenium access to the GUI to drive the browser. See AutoLogon section for information on how to configure Windows to logon automatically.

The files installed or generated (selenium-server-standalone.jar, *capabilites.json, *config.json, *.cmd, and *.log) are typically located in the C:/tools/selenium directory.

A firewall rule is automatically created to allow traffic to the hub or node service port.

Package Parameters

The following package parameters can be set:

General

These parameters are available on all roles:

  • /role: - Options are hub, node, or standalone. Default: standalone.
  • /log - Log to <Get-ToolsLocation>\selenium\<role>.log instead of to STDOUT. Default false.
  • /javaoptions: - Additional options to pass to Java, e.g., -Dwebdriver.chrome.driver=./chromedriver.exe. Default: ''.
  • /debug - Enables LogLevel.FINE. Default: false.
  • /service - Add as a Windows service instead of as a startup script. Note that a Windows service can't drive a GUI, so it is only recommended for the hub role. Default: false.
  • /autostart - Set Windows services to start automatically on reboot or set startup scripts to start on logon. Default: false.

Standalone

  • /browserTimeout: - In seconds : number of seconds a browser session is allowed to hang while a WebDriver command is running (example: driver.get(url)). If the timeout is reached while a WebDriver command is still processing, the session will quit. Minimum value is 60. An unspecified, zero, or negative value means wait indefinitely. Default: 0.
  • /enablePassThrough - Default: true.
  • /port: - The port number the server will use. Default: 4444.
  • /timeout: - In seconds : Specifies the timeout before the server automatically kills a session that hasn't had any activity in the last X seconds. The test slot will then be released for another test to use. This is typically used to take care of client crashes. For grid hub/node roles, cleanUpCycle must also be set. Default: 1800.

Hub

  • /browserTimeout: - In seconds : number of seconds a browser session is allowed to hang while a WebDriver command is running (example: driver.get(url)). If the timeout is reached while a WebDriver command is still processing, the session will quit. Minimum value is 60. An unspecified, zero, or negative value means wait indefinitely. Default: 0.
  • /capabilityMatcher: - Default: org.openqa.grid.internal.utils.DefaultCapabilityMatcher.
  • /cleanUpCycle: - In ms : specifies how often the hub will poll running proxies for timed-out (i.e. hung) threads. Must also specify "timeout" option. Default: 5000.
  • /newSessionWaitTimeout: - Default: -1.
  • /port: - The port number the server will use. Default: 4444.
  • /servlets: - List of default (hub or node) servlets to enable. Advanced use cases only. Specify multiple servlets: tld.company.ServletA,tld.company.ServletB. The servlet must exist in the path: /grid/admin/ServletA /grid/admin/ServletB.
  • /throwOnCapabilityNotPresent - Default: true.
  • /timeout: - In seconds : Specifies the timeout before the server automatically kills a session that hasn't had any activity in the last X seconds. The test slot will then be released for another test to use. This is typically used to take care of client crashes. For grid hub/node roles, cleanUpCycle must also be set. Default: 1800.
  • /withoutServlets: - List of default (hub or node) servlets to disable. Advanced use cases only. Not all default servlets can be disabled. Specify multiple servlets: [tld.company.ServletA,tld.company.ServletB].

Node

  • /capabilitiesJson: - The JSON file containing capabilities. A capabilities.json is provided by default. For Chrome, Edge, Firefox, and Internet Explorer; when version is set to "autoversion", the installer will attempt to automatically determine and set the version. Default: '<Get-ToolsLocation>\selenium\capabilities.json'.
  • /hub: - The url that will be used to post the registration request. This option takes precedence over -hubHost and -hubPort options. Default: http://localhost:4444.
  • /downPollingLimit: - Node is marked as "down" if the node hasn't responded after the number of checks specified. Default: 2.
  • /maxSession: - Max number of tests that can run at the same time on the node, irrespective of the browser used. Default: 5.
  • /nodePolling: - In ms : specifies how often the hub will poll to see if the node is still responding. Default: 5000.
  • /nodeStatusCheckTimeout: - In ms : connection/socket timeout, used for node "nodePolling" check. Default: 5000.
  • /port: - The port number the server will use. Default: 5555.
  • /proxy: - The class used to represent the node proxy. Default: org.openqa.grid.selenium.proxy.DefaultRemoteProxy
  • /register - If specified, node will attempt to re-register itself automatically with its known grid hub if the hub becomes unavailable. Default: true.
  • /registerCycle: - In ms : specifies how often the node will try to register itself again. Allows administrator to restart the hub without restarting (or risk orphaning) registered nodes. Must be specified with the "-register" option. Default: 5000.
  • /servlets: - List of default (hub or node) servlets to enable. Advanced use cases only. Specify multiple servlets: [tld.company.ServletA,tld.company.ServletB]. The servlet must exist in the path: /grid/admin/ServletA /grid/admin/ServletB.
  • /timeout: - In seconds : Specifies the timeout before the server automatically kills a session that hasn't had any activity in the last X seconds. The test slot will then be released for another test to use. This is typically used to take care of client crashes. For grid hub/node roles, cleanUpCycle must also be set. Default: 1800.
  • /unregisterIfStillDownAfter - In ms : if the node remains down for more than unregisterIfStillDownAfter ms, it will stop attempting to re-register from the hub. Default: 60000.
  • /withoutServlets: - List of default (hub or node) servlets to disable. Advanced use cases only. Not all default servlets can be disabled. Specify multiple servlets: @(tld.company.ServletA,tld.company.ServletB).

These parameters can be passed to the installer with the use of --params. For example: --params "'/role:node /hub:http://localhost:4444'".

About

Installs and configures selenium standalone, hub, or node server

Topics

Resources

Stars

18 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Selenium

ChocolateyAppVeyor branch

Installs and configures selenium standalone, hub, or node server from https://github.com/SeleniumHQ/selenium/.

A Vagrantfile to provision a Selenium-Grid on Windows 10 with latest browsers and drivers for Chrome, Edge, Firefox, and IE is available. See TESTING.md for more information.

DISCLAIMER: This package is not part of the official Selenium project.

Prerequisites

  • Java, Browser(s), and Browser WebDriver(s) must be installed prior to installing selenium
  • Non-Sucking Service Manager (NSSM) --pre version is required when using /service option

Quick Start

Standalone

Install standalone server using port 8888 instead of default 4444, and write to a log file instead of stdout:

choco install -y jdk10 firefox selenium-gecko-driver googlechrome selenium-chrome-driver selenium-ie-driver
choco install -y selenium --params "'/port:8888 /log'"

Start the standalone server: Start > Selenium > Selenium Standalone. Verify standalone server is available by opening Selenium Standalone console http://localhost:8888/wd/hub/static/resource/hub.html.

Hub

Install hub as a Windows service that will autostart on reboot:

choco install -y nssm --pre
choco install -y jdk10
choco install -y selenium --params "'/role:hub /service /autostart'"

Selenium hub server should be started automatically. Verify hub server is available by opening Selenium Grid Hub console http://localhost:4444/grid/console.

Node

Install node as startup script that will autostart on logon and support only chrome browser capabilities instead of the default capabilities:

$capabilitiesJson = "C:\tools\selenium\chromeonlycapabilities.json"
@'
[
{
"browserName": "chrome",
"maxInstances": 5,
"version": "autoversion",
"seleniumProtocol": "WebDriver"
}
]
'@ | New-Item $capabilitiesJson -Type file -Force
choco install -y jdk10 googlechrome selenium-chrome-driver
choco install -y selenium --params "'/role:node /hub:http://localhost:4444 /capabilitiesJson:$capabilitiesJson /autostart'"

Start the node server: Start > Selenium > Selenium Node. Verify node server is available by opening Selenium Grid Hub console http://localhost:4444/grid/console and seeing the node attached.

Note that for Firefox, Chrome, and Internet Explorer; when capability version is set to "autoversion", the installer will attempt to automatically determine and set the version.

AutoLogon

The autostart will start the non-Windows services when you logon. But to make that happen automatically, you need to install the autologon package and run autologon <username> <domain> <password> once to set it up:

choco install -y autologon
autologon $env:username $env:userdomain redacted

IE Driver

Internet Explorer will require additional configuration in order for the IE Driver to work. A PowerShell script ie-configuration.ps1 is available to configure IE. This script has been tested on Windows Server 2012R2, Windows Server 2016, and Windows 10.

Screen Resolution

If you need to set the screen resolution different from default, check out the screen-resolution package.

Usage

Windows service is available, but it is only recommended for the hub role. The non-Windows service requires a logon to allow selenium access to the GUI to drive the browser. See AutoLogon section for information on how to configure Windows to logon automatically.

The files installed or generated (selenium-server-standalone.jar, *capabilites.json, *config.json, *.cmd, and *.log) are typically located in the C:/tools/selenium directory.

A firewall rule is automatically created to allow traffic to the hub or node service port.

Package Parameters

The following package parameters can be set:

General

These parameters are available on all roles:

  • /role: - Options are hub, node, or standalone. Default: standalone.
  • /log - Log to <Get-ToolsLocation>\selenium\<role>.log instead of to STDOUT. Default false.
  • /javaoptions: - Additional options to pass to Java, e.g., -Dwebdriver.chrome.driver=./chromedriver.exe. Default: ''.
  • /debug - Enables LogLevel.FINE. Default: false.
  • /service - Add as a Windows service instead of as a startup script. Note that a Windows service can't drive a GUI, so it is only recommended for the hub role. Default: false.
  • /autostart - Set Windows services to start automatically on reboot or set startup scripts to start on logon. Default: false.

Standalone

  • /browserTimeout: - In seconds : number of seconds a browser session is allowed to hang while a WebDriver command is running (example: driver.get(url)). If the timeout is reached while a WebDriver command is still processing, the session will quit. Minimum value is 60. An unspecified, zero, or negative value means wait indefinitely. Default: 0.
  • /enablePassThrough - Default: true.
  • /port: - The port number the server will use. Default: 4444.
  • /timeout: - In seconds : Specifies the timeout before the server automatically kills a session that hasn't had any activity in the last X seconds. The test slot will then be released for another test to use. This is typically used to take care of client crashes. For grid hub/node roles, cleanUpCycle must also be set. Default: 1800.

Hub

  • /browserTimeout: - In seconds : number of seconds a browser session is allowed to hang while a WebDriver command is running (example: driver.get(url)). If the timeout is reached while a WebDriver command is still processing, the session will quit. Minimum value is 60. An unspecified, zero, or negative value means wait indefinitely. Default: 0.
  • /capabilityMatcher: - Default: org.openqa.grid.internal.utils.DefaultCapabilityMatcher.
  • /cleanUpCycle: - In ms : specifies how often the hub will poll running proxies for timed-out (i.e. hung) threads. Must also specify "timeout" option. Default: 5000.
  • /newSessionWaitTimeout: - Default: -1.
  • /port: - The port number the server will use. Default: 4444.
  • /servlets: - List of default (hub or node) servlets to enable. Advanced use cases only. Specify multiple servlets: tld.company.ServletA,tld.company.ServletB. The servlet must exist in the path: /grid/admin/ServletA /grid/admin/ServletB.
  • /throwOnCapabilityNotPresent - Default: true.
  • /timeout: - In seconds : Specifies the timeout before the server automatically kills a session that hasn't had any activity in the last X seconds. The test slot will then be released for another test to use. This is typically used to take care of client crashes. For grid hub/node roles, cleanUpCycle must also be set. Default: 1800.
  • /withoutServlets: - List of default (hub or node) servlets to disable. Advanced use cases only. Not all default servlets can be disabled. Specify multiple servlets: [tld.company.ServletA,tld.company.ServletB].

Node

  • /capabilitiesJson: - The JSON file containing capabilities. A capabilities.json is provided by default. For Chrome, Edge, Firefox, and Internet Explorer; when version is set to "autoversion", the installer will attempt to automatically determine and set the version. Default: '<Get-ToolsLocation>\selenium\capabilities.json'.
  • /hub: - The url that will be used to post the registration request. This option takes precedence over -hubHost and -hubPort options. Default: http://localhost:4444.
  • /downPollingLimit: - Node is marked as "down" if the node hasn't responded after the number of checks specified. Default: 2.
  • /maxSession: - Max number of tests that can run at the same time on the node, irrespective of the browser used. Default: 5.
  • /nodePolling: - In ms : specifies how often the hub will poll to see if the node is still responding. Default: 5000.
  • /nodeStatusCheckTimeout: - In ms : connection/socket timeout, used for node "nodePolling" check. Default: 5000.
  • /port: - The port number the server will use. Default: 5555.
  • /proxy: - The class used to represent the node proxy. Default: org.openqa.grid.selenium.proxy.DefaultRemoteProxy
  • /register - If specified, node will attempt to re-register itself automatically with its known grid hub if the hub becomes unavailable. Default: true.
  • /registerCycle: - In ms : specifies how often the node will try to register itself again. Allows administrator to restart the hub without restarting (or risk orphaning) registered nodes. Must be specified with the "-register" option. Default: 5000.
  • /servlets: - List of default (hub or node) servlets to enable. Advanced use cases only. Specify multiple servlets: [tld.company.ServletA,tld.company.ServletB]. The servlet must exist in the path: /grid/admin/ServletA /grid/admin/ServletB.
  • /timeout: - In seconds : Specifies the timeout before the server automatically kills a session that hasn't had any activity in the last X seconds. The test slot will then be released for another test to use. This is typically used to take care of client crashes. For grid hub/node roles, cleanUpCycle must also be set. Default: 1800.
  • /unregisterIfStillDownAfter - In ms : if the node remains down for more than unregisterIfStillDownAfter ms, it will stop attempting to re-register from the hub. Default: 60000.
  • /withoutServlets: - List of default (hub or node) servlets to disable. Advanced use cases only. Not all default servlets can be disabled. Specify multiple servlets: @(tld.company.ServletA,tld.company.ServletB).

These parameters can be passed to the installer with the use of --params. For example: --params "'/role:node /hub:http://localhost:4444'".

About

Installs and configures selenium standalone, hub, or node server

Topics

Resources

Stars

18 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Selenium

ChocolateyAppVeyor branch

Installs and configures selenium standalone, hub, or node server from https://github.com/SeleniumHQ/selenium/.

A Vagrantfile to provision a Selenium-Grid on Windows 10 with latest browsers and drivers for Chrome, Edge, Firefox, and IE is available. See TESTING.md for more information.

DISCLAIMER: This package is not part of the official Selenium project.

Prerequisites

  • Java, Browser(s), and Browser WebDriver(s) must be installed prior to installing selenium
  • Non-Sucking Service Manager (NSSM) --pre version is required when using /service option

Quick Start

Standalone

Install standalone server using port 8888 instead of default 4444, and write to a log file instead of stdout:

choco install -y jdk10 firefox selenium-gecko-driver googlechrome selenium-chrome-driver selenium-ie-driver
choco install -y selenium --params "'/port:8888 /log'"

Start the standalone server: Start > Selenium > Selenium Standalone. Verify standalone server is available by opening Selenium Standalone console http://localhost:8888/wd/hub/static/resource/hub.html.

Hub

Install hub as a Windows service that will autostart on reboot:

choco install -y nssm --pre
choco install -y jdk10
choco install -y selenium --params "'/role:hub /service /autostart'"

Selenium hub server should be started automatically. Verify hub server is available by opening Selenium Grid Hub console http://localhost:4444/grid/console.

Node

Install node as startup script that will autostart on logon and support only chrome browser capabilities instead of the default capabilities:

$capabilitiesJson = "C:\tools\selenium\chromeonlycapabilities.json"
@'
[
{
"browserName": "chrome",
"maxInstances": 5,
"version": "autoversion",
"seleniumProtocol": "WebDriver"
}
]
'@ | New-Item $capabilitiesJson -Type file -Force
choco install -y jdk10 googlechrome selenium-chrome-driver
choco install -y selenium --params "'/role:node /hub:http://localhost:4444 /capabilitiesJson:$capabilitiesJson /autostart'"

Start the node server: Start > Selenium > Selenium Node. Verify node server is available by opening Selenium Grid Hub console http://localhost:4444/grid/console and seeing the node attached.

Note that for Firefox, Chrome, and Internet Explorer; when capability version is set to "autoversion", the installer will attempt to automatically determine and set the version.

AutoLogon

The autostart will start the non-Windows services when you logon. But to make that happen automatically, you need to install the autologon package and run autologon <username> <domain> <password> once to set it up:

choco install -y autologon
autologon $env:username $env:userdomain redacted

IE Driver

Internet Explorer will require additional configuration in order for the IE Driver to work. A PowerShell script ie-configuration.ps1 is available to configure IE. This script has been tested on Windows Server 2012R2, Windows Server 2016, and Windows 10.

Screen Resolution

If you need to set the screen resolution different from default, check out the screen-resolution package.

Usage

Windows service is available, but it is only recommended for the hub role. The non-Windows service requires a logon to allow selenium access to the GUI to drive the browser. See AutoLogon section for information on how to configure Windows to logon automatically.

The files installed or generated (selenium-server-standalone.jar, *capabilites.json, *config.json, *.cmd, and *.log) are typically located in the C:/tools/selenium directory.

A firewall rule is automatically created to allow traffic to the hub or node service port.

Package Parameters

The following package parameters can be set:

General

These parameters are available on all roles:

  • /role: - Options are hub, node, or standalone. Default: standalone.
  • /log - Log to <Get-ToolsLocation>\selenium\<role>.log instead of to STDOUT. Default false.
  • /javaoptions: - Additional options to pass to Java, e.g., -Dwebdriver.chrome.driver=./chromedriver.exe. Default: ''.
  • /debug - Enables LogLevel.FINE. Default: false.
  • /service - Add as a Windows service instead of as a startup script. Note that a Windows service can't drive a GUI, so it is only recommended for the hub role. Default: false.
  • /autostart - Set Windows services to start automatically on reboot or set startup scripts to start on logon. Default: false.

Standalone

  • /browserTimeout: - In seconds : number of seconds a browser session is allowed to hang while a WebDriver command is running (example: driver.get(url)). If the timeout is reached while a WebDriver command is still processing, the session will quit. Minimum value is 60. An unspecified, zero, or negative value means wait indefinitely. Default: 0.
  • /enablePassThrough - Default: true.
  • /port: - The port number the server will use. Default: 4444.
  • /timeout: - In seconds : Specifies the timeout before the server automatically kills a session that hasn't had any activity in the last X seconds. The test slot will then be released for another test to use. This is typically used to take care of client crashes. For grid hub/node roles, cleanUpCycle must also be set. Default: 1800.

Hub

  • /browserTimeout: - In seconds : number of seconds a browser session is allowed to hang while a WebDriver command is running (example: driver.get(url)). If the timeout is reached while a WebDriver command is still processing, the session will quit. Minimum value is 60. An unspecified, zero, or negative value means wait indefinitely. Default: 0.
  • /capabilityMatcher: - Default: org.openqa.grid.internal.utils.DefaultCapabilityMatcher.
  • /cleanUpCycle: - In ms : specifies how often the hub will poll running proxies for timed-out (i.e. hung) threads. Must also specify "timeout" option. Default: 5000.
  • /newSessionWaitTimeout: - Default: -1.
  • /port: - The port number the server will use. Default: 4444.
  • /servlets: - List of default (hub or node) servlets to enable. Advanced use cases only. Specify multiple servlets: tld.company.ServletA,tld.company.ServletB. The servlet must exist in the path: /grid/admin/ServletA /grid/admin/ServletB.
  • /throwOnCapabilityNotPresent - Default: true.
  • /timeout: - In seconds : Specifies the timeout before the server automatically kills a session that hasn't had any activity in the last X seconds. The test slot will then be released for another test to use. This is typically used to take care of client crashes. For grid hub/node roles, cleanUpCycle must also be set. Default: 1800.
  • /withoutServlets: - List of default (hub or node) servlets to disable. Advanced use cases only. Not all default servlets can be disabled. Specify multiple servlets: [tld.company.ServletA,tld.company.ServletB].

Node

  • /capabilitiesJson: - The JSON file containing capabilities. A capabilities.json is provided by default. For Chrome, Edge, Firefox, and Internet Explorer; when version is set to "autoversion", the installer will attempt to automatically determine and set the version. Default: '<Get-ToolsLocation>\selenium\capabilities.json'.
  • /hub: - The url that will be used to post the registration request. This option takes precedence over -hubHost and -hubPort options. Default: http://localhost:4444.
  • /downPollingLimit: - Node is marked as "down" if the node hasn't responded after the number of checks specified. Default: 2.
  • /maxSession: - Max number of tests that can run at the same time on the node, irrespective of the browser used. Default: 5.
  • /nodePolling: - In ms : specifies how often the hub will poll to see if the node is still responding. Default: 5000.
  • /nodeStatusCheckTimeout: - In ms : connection/socket timeout, used for node "nodePolling" check. Default: 5000.
  • /port: - The port number the server will use. Default: 5555.
  • /proxy: - The class used to represent the node proxy. Default: org.openqa.grid.selenium.proxy.DefaultRemoteProxy
  • /register - If specified, node will attempt to re-register itself automatically with its known grid hub if the hub becomes unavailable. Default: true.
  • /registerCycle: - In ms : specifies how often the node will try to register itself again. Allows administrator to restart the hub without restarting (or risk orphaning) registered nodes. Must be specified with the "-register" option. Default: 5000.
  • /servlets: - List of default (hub or node) servlets to enable. Advanced use cases only. Specify multiple servlets: [tld.company.ServletA,tld.company.ServletB]. The servlet must exist in the path: /grid/admin/ServletA /grid/admin/ServletB.
  • /timeout: - In seconds : Specifies the timeout before the server automatically kills a session that hasn't had any activity in the last X seconds. The test slot will then be released for another test to use. This is typically used to take care of client crashes. For grid hub/node roles, cleanUpCycle must also be set. Default: 1800.
  • /unregisterIfStillDownAfter - In ms : if the node remains down for more than unregisterIfStillDownAfter ms, it will stop attempting to re-register from the hub. Default: 60000.
  • /withoutServlets: - List of default (hub or node) servlets to disable. Advanced use cases only. Not all default servlets can be disabled. Specify multiple servlets: @(tld.company.ServletA,tld.company.ServletB).

These parameters can be passed to the installer with the use of --params. For example: --params "'/role:node /hub:http://localhost:4444'".

About

Installs and configures selenium standalone, hub, or node server

Topics

Resources

Stars

18 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Selenium

ChocolateyAppVeyor branch

Installs and configures selenium standalone, hub, or node server from https://github.com/SeleniumHQ/selenium/.

A Vagrantfile to provision a Selenium-Grid on Windows 10 with latest browsers and drivers for Chrome, Edge, Firefox, and IE is available. See TESTING.md for more information.

DISCLAIMER: This package is not part of the official Selenium project.

Prerequisites

  • Java, Browser(s), and Browser WebDriver(s) must be installed prior to installing selenium
  • Non-Sucking Service Manager (NSSM) --pre version is required when using /service option

Quick Start

Standalone

Install standalone server using port 8888 instead of default 4444, and write to a log file instead of stdout:

choco install -y jdk10 firefox selenium-gecko-driver googlechrome selenium-chrome-driver selenium-ie-driver
choco install -y selenium --params "'/port:8888 /log'"

Start the standalone server: Start > Selenium > Selenium Standalone. Verify standalone server is available by opening Selenium Standalone console http://localhost:8888/wd/hub/static/resource/hub.html.

Hub

Install hub as a Windows service that will autostart on reboot:

choco install -y nssm --pre
choco install -y jdk10
choco install -y selenium --params "'/role:hub /service /autostart'"

Selenium hub server should be started automatically. Verify hub server is available by opening Selenium Grid Hub console http://localhost:4444/grid/console.

Node

Install node as startup script that will autostart on logon and support only chrome browser capabilities instead of the default capabilities:

$capabilitiesJson = "C:\tools\selenium\chromeonlycapabilities.json"
@'
[
{
"browserName": "chrome",
"maxInstances": 5,
"version": "autoversion",
"seleniumProtocol": "WebDriver"
}
]
'@ | New-Item $capabilitiesJson -Type file -Force
choco install -y jdk10 googlechrome selenium-chrome-driver
choco install -y selenium --params "'/role:node /hub:http://localhost:4444 /capabilitiesJson:$capabilitiesJson /autostart'"

Start the node server: Start > Selenium > Selenium Node. Verify node server is available by opening Selenium Grid Hub console http://localhost:4444/grid/console and seeing the node attached.

Note that for Firefox, Chrome, and Internet Explorer; when capability version is set to "autoversion", the installer will attempt to automatically determine and set the version.

AutoLogon

The autostart will start the non-Windows services when you logon. But to make that happen automatically, you need to install the autologon package and run autologon <username> <domain> <password> once to set it up:

choco install -y autologon
autologon $env:username $env:userdomain redacted

IE Driver

Internet Explorer will require additional configuration in order for the IE Driver to work. A PowerShell script ie-configuration.ps1 is available to configure IE. This script has been tested on Windows Server 2012R2, Windows Server 2016, and Windows 10.

Screen Resolution

If you need to set the screen resolution different from default, check out the screen-resolution package.

Usage

Windows service is available, but it is only recommended for the hub role. The non-Windows service requires a logon to allow selenium access to the GUI to drive the browser. See AutoLogon section for information on how to configure Windows to logon automatically.

The files installed or generated (selenium-server-standalone.jar, *capabilites.json, *config.json, *.cmd, and *.log) are typically located in the C:/tools/selenium directory.

A firewall rule is automatically created to allow traffic to the hub or node service port.

Package Parameters

The following package parameters can be set:

General

These parameters are available on all roles:

  • /role: - Options are hub, node, or standalone. Default: standalone.
  • /log - Log to <Get-ToolsLocation>\selenium\<role>.log instead of to STDOUT. Default false.
  • /javaoptions: - Additional options to pass to Java, e.g., -Dwebdriver.chrome.driver=./chromedriver.exe. Default: ''.
  • /debug - Enables LogLevel.FINE. Default: false.
  • /service - Add as a Windows service instead of as a startup script. Note that a Windows service can't drive a GUI, so it is only recommended for the hub role. Default: false.
  • /autostart - Set Windows services to start automatically on reboot or set startup scripts to start on logon. Default: false.

Standalone

  • /browserTimeout: - In seconds : number of seconds a browser session is allowed to hang while a WebDriver command is running (example: driver.get(url)). If the timeout is reached while a WebDriver command is still processing, the session will quit. Minimum value is 60. An unspecified, zero, or negative value means wait indefinitely. Default: 0.
  • /enablePassThrough - Default: true.
  • /port: - The port number the server will use. Default: 4444.
  • /timeout: - In seconds : Specifies the timeout before the server automatically kills a session that hasn't had any activity in the last X seconds. The test slot will then be released for another test to use. This is typically used to take care of client crashes. For grid hub/node roles, cleanUpCycle must also be set. Default: 1800.

Hub

  • /browserTimeout: - In seconds : number of seconds a browser session is allowed to hang while a WebDriver command is running (example: driver.get(url)). If the timeout is reached while a WebDriver command is still processing, the session will quit. Minimum value is 60. An unspecified, zero, or negative value means wait indefinitely. Default: 0.
  • /capabilityMatcher: - Default: org.openqa.grid.internal.utils.DefaultCapabilityMatcher.
  • /cleanUpCycle: - In ms : specifies how often the hub will poll running proxies for timed-out (i.e. hung) threads. Must also specify "timeout" option. Default: 5000.
  • /newSessionWaitTimeout: - Default: -1.
  • /port: - The port number the server will use. Default: 4444.
  • /servlets: - List of default (hub or node) servlets to enable. Advanced use cases only. Specify multiple servlets: tld.company.ServletA,tld.company.ServletB. The servlet must exist in the path: /grid/admin/ServletA /grid/admin/ServletB.
  • /throwOnCapabilityNotPresent - Default: true.
  • /timeout: - In seconds : Specifies the timeout before the server automatically kills a session that hasn't had any activity in the last X seconds. The test slot will then be released for another test to use. This is typically used to take care of client crashes. For grid hub/node roles, cleanUpCycle must also be set. Default: 1800.
  • /withoutServlets: - List of default (hub or node) servlets to disable. Advanced use cases only. Not all default servlets can be disabled. Specify multiple servlets: [tld.company.ServletA,tld.company.ServletB].

Node

  • /capabilitiesJson: - The JSON file containing capabilities. A capabilities.json is provided by default. For Chrome, Edge, Firefox, and Internet Explorer; when version is set to "autoversion", the installer will attempt to automatically determine and set the version. Default: '<Get-ToolsLocation>\selenium\capabilities.json'.
  • /hub: - The url that will be used to post the registration request. This option takes precedence over -hubHost and -hubPort options. Default: http://localhost:4444.
  • /downPollingLimit: - Node is marked as "down" if the node hasn't responded after the number of checks specified. Default: 2.
  • /maxSession: - Max number of tests that can run at the same time on the node, irrespective of the browser used. Default: 5.
  • /nodePolling: - In ms : specifies how often the hub will poll to see if the node is still responding. Default: 5000.
  • /nodeStatusCheckTimeout: - In ms : connection/socket timeout, used for node "nodePolling" check. Default: 5000.
  • /port: - The port number the server will use. Default: 5555.
  • /proxy: - The class used to represent the node proxy. Default: org.openqa.grid.selenium.proxy.DefaultRemoteProxy
  • /register - If specified, node will attempt to re-register itself automatically with its known grid hub if the hub becomes unavailable. Default: true.
  • /registerCycle: - In ms : specifies how often the node will try to register itself again. Allows administrator to restart the hub without restarting (or risk orphaning) registered nodes. Must be specified with the "-register" option. Default: 5000.
  • /servlets: - List of default (hub or node) servlets to enable. Advanced use cases only. Specify multiple servlets: [tld.company.ServletA,tld.company.ServletB]. The servlet must exist in the path: /grid/admin/ServletA /grid/admin/ServletB.
  • /timeout: - In seconds : Specifies the timeout before the server automatically kills a session that hasn't had any activity in the last X seconds. The test slot will then be released for another test to use. This is typically used to take care of client crashes. For grid hub/node roles, cleanUpCycle must also be set. Default: 1800.
  • /unregisterIfStillDownAfter - In ms : if the node remains down for more than unregisterIfStillDownAfter ms, it will stop attempting to re-register from the hub. Default: 60000.
  • /withoutServlets: - List of default (hub or node) servlets to disable. Advanced use cases only. Not all default servlets can be disabled. Specify multiple servlets: @(tld.company.ServletA,tld.company.ServletB).

These parameters can be passed to the installer with the use of --params. For example: --params "'/role:node /hub:http://localhost:4444'".

About

Installs and configures selenium standalone, hub, or node server

Topics

Resources

Stars

18 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages