Last active
March 22, 2016 14:07
-
-
Save dlai0001/fa5fcc634cf850ed9342 to your computer and use it in GitHub Desktop.
Boxstarter formula for settings up Selenium Grid
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
############################################################################################## | |
# Powershell script for installing Selenium Grid Extras in Hub Mode | |
# Navigate with internet explorer to: | |
# http://boxstarter.org/package/nr/url? + raw gist url | |
# | |
############################################################################################## | |
# Boxstarter options | |
$Boxstarter.RebootOk=$true # Allow reboots? | |
$Boxstarter.NoPassword=$false # Is this a machine with no login password? | |
$Boxstarter.AutoLogin=$true # Save my password securely and auto-login after a reboot | |
# install powershell | |
choco install powershell | |
if (Test-PendingReboot) { Invoke-Reboot } | |
$seleniumGridPath = "c:\SeleniumGrid" | |
$seleniumGridExtraDownloadUrl = "https://github.com/groupon/Selenium-Grid-Extras/releases/download/v1.7.1/SeleniumGridExtras-1.7.1-SNAPSHOT-jar-with-dependencies.jar" | |
#install dependencies | |
choco install javaruntime | |
# Creating Dir | |
New-Item -Force -ItemType directory -Path $seleniumGridPath | |
# Downloading Selenium Grid Extra | |
Invoke-WebRequest $seleniumGridExtraDownloadUrl -OutFile $seleniumGridPath\selenium-grid-extras.jar | |
# Create selenium_grid_extras_config.json file using decoded base64 version of our desired settings. | |
$Base64EncodedGridExtrasConfig = "ewogICJ0aGVDb25maWdNYXAiOiB7CiAgICAiYXV0b19zdGFydF9odWIiOiAiMSIsCiAgICAiZGVmYXVsdF9yb2xlIjogImh1YiIsCiAgICAidmlkZW9fcmVjb3JkaW5nX29wdGlvbnMiOiB7CiAgICAgICJ2aWRlb3NfdG9fa2VlcCI6ICI0MCIKICAgIH0sCiAgICAibm9kZV9jb25maWdfZmlsZXMiOiBbCiAgICAgICJub2RlXzU1NTUuanNvbiIKICAgIF0sCiAgICAiaHViX2NvbmZpZyI6IHt9LAogICAgImh1Yl9jb25maWdfZmlsZXMiOiBbCiAgICAgICJodWJfNDQ0NC5qc29uIgogICAgXSwKICAgICJpZWRyaXZlciI6IHsKICAgICAgInZlcnNpb24iOiAiMi40NC4wIgogICAgfSwKICAgICJhdXRvX3N0YXJ0X25vZGUiOiAiMSIsCiAgICAiYXV0b191cGRhdGVfZHJpdmVycyI6ICIxIiwKICAgICJjaHJvbWVkcml2ZXIiOiB7CiAgICAgICJ2ZXJzaW9uIjogIjIuMTIiCiAgICB9LAogICAgIndlYmRyaXZlciI6IHsKICAgICAgInZlcnNpb24iOiAiMi40NC4wIgogICAgfQogIH0KfQ==" | |
$DecodedGridExtrasConfig = [System.Convert]::FromBase64String($Base64EncodedGridExtrasConfig) | |
Set-Content -Path $seleniumGridPath\selenium_grid_extras_config.json -Value $DecodedGridExtrasConfig -Encoding Byte | |
# create hub config | |
$Base64EncodedHubConfig = "ewogICJwb3J0IjogNDQ0NCwKICAibmV3U2Vzc2lvbldhaXRUaW1lb3V0IjogMjUwMDAsCiAgInNlcnZsZXRzIjogWwogICAgImNvbS5ncm91cG9uLnNlbGVuaXVtZ3JpZGV4dHJhcy5ncmlkLnNlcnZsZXRzLlNlbGVuaXVtR3JpZEV4dHJhc1NlcnZsZXQiLAogICAgImNvbS5ncm91cG9uLnNlbGVuaXVtZ3JpZGV4dHJhcy5ncmlkLnNlcnZsZXRzLlByb3h5U3RhdHVzSnNvblNlcnZsZXQiCiAgXSwKICAiY2FwYWJpbGl0eU1hdGNoZXIiOiAib3JnLm9wZW5xYS5ncmlkLmludGVybmFsLnV0aWxzLkRlZmF1bHRDYXBhYmlsaXR5TWF0Y2hlciIsCiAgInRocm93T25DYXBhYmlsaXR5Tm90UHJlc2VudCI6IHRydWUsCiAgIm5vZGVQb2xsaW5nIjogNTAwMCwKICAiY2xlYW5VcEN5Y2xlIjogNTAwMCwKICAiYnJvd3NlclRpbWVvdXQiOiAxMjAwMDAsCiAgInRpbWVvdXQiOiAxMjAwMDAsCiAgIm1heFNlc3Npb24iOiA1Cn0=" | |
$DecodedHubConfig = [System.Convert]::FromBase64String($Base64EncodedHubConfig) | |
Set-Content -Path $seleniumGridPath\hub_4444.json -Value $DecodedHubConfig -Encoding Byte | |
# create node config | |
$Base64EncodedNodeConfig = "ewogICJjYXBhYmlsaXRpZXMiOiBbCiAgICB7CiAgICAgICJwbGF0Zm9ybSI6ICJWSVNUQSIsCiAgICAgICJzZWxlbml1bVByb3RvY29sIjogIldlYkRyaXZlciIsCiAgICAgICJicm93c2VyTmFtZSI6ICJjaHJvbWUiLAogICAgICAibWF4SW5zdGFuY2VzIjogMwogICAgfSwKICAgIHsKICAgICAgInBsYXRmb3JtIjogIlZJU1RBIiwKICAgICAgInNlbGVuaXVtUHJvdG9jb2wiOiAiV2ViRHJpdmVyIiwKICAgICAgImJyb3dzZXJOYW1lIjogImludGVybmV0IGV4cGxvcmVyIiwKICAgICAgIm1heEluc3RhbmNlcyI6IDEKICAgIH0sCiAgICB7CiAgICAgICJwbGF0Zm9ybSI6ICJWSVNUQSIsCiAgICAgICJzZWxlbml1bVByb3RvY29sIjogIldlYkRyaXZlciIsCiAgICAgICJicm93c2VyTmFtZSI6ICJmaXJlZm94IiwKICAgICAgIm1heEluc3RhbmNlcyI6IDMKICAgIH0KICBdLAogICJjb25maWd1cmF0aW9uIjogewogICAgInByb3h5IjogImNvbS5ncm91cG9uLnNlbGVuaXVtZ3JpZGV4dHJhcy5ncmlkLnByb3hpZXMuU2V0dXBUZWFyZG93blByb3h5IiwKICAgICJtYXhTZXNzaW9uIjogMywKICAgICJwb3J0IjogNTU1NSwKICAgICJyZWdpc3RlciI6IHRydWUsCiAgICAidW5yZWdpc3RlcklmU3RpbGxEb3duQWZ0ZXIiOiAxMDAwMCwKICAgICJodWJQb3J0IjogNDQ0NCwKICAgICJodWJIb3N0IjogIjEyNy4wLjAuMSIsCiAgICAibm9kZVN0YXR1c0NoZWNrVGltZW91dCI6IDEwMDAwLAogICAgImRvd25Qb2xsaW5nTGltaXQiOiAwCiAgfQp9" | |
$DecodedNodeConfig = [System.Convert]::FromBase64String($Base64EncodedNodeConfig) | |
Set-Content -Path $seleniumGridPath\node_5555.json -Value $DecodedNodeConfig -Encoding Byte | |
# Create Start.bat file | |
Set-Content -Path $seleniumGridPath\starthub.bat -Value "cd $seleniumGridPath&java -jar selenium-grid-extras.jar" | |
schtasks.exe /Create /SC ONLOGON /TN "StartSeleniumHub" /TR "cmd /c ""C:\SeleniumGrid\starthub.bat""" | |
cd $seleniumGridPath | |
java -jar selenium-grid-extras.jar | |
if (Test-PendingReboot) { Invoke-Reboot } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
############################################################################################## | |
# Powershell script for installing Selenium Grid Extras in Node Mode with latest version | |
# of Chrome and Firefox | |
# Navigate with internet explorer to: | |
# http://boxstarter.org/package/nr/url? + raw gist url | |
# | |
############################################################################################## | |
choco install powershell | |
if (Test-PendingReboot) { Invoke-Reboot } | |
$seleniumGridPath = "c:\SeleniumGrid" | |
$seleniumGridExtraDownloadUrl = "https://github.com/groupon/Selenium-Grid-Extras/releases/download/v1.7.1/SeleniumGridExtras-1.7.1-SNAPSHOT-jar-with-dependencies.jar" | |
# install dependencies and browsers | |
choco install javaruntime | |
choco install Firefox | |
choco install GoogleChrome | |
# Creating Dir | |
New-Item -Force -ItemType directory -Path $seleniumGridPath | |
# Downloading Selenium Grid Extra | |
Invoke-WebRequest $seleniumGridExtraDownloadUrl -OutFile $seleniumGridPath\selenium-grid-extras.jar | |
# Create grid extras config | |
$Base64EncodedGridExtrasConfig = "ewogICJ0aGVDb25maWdNYXAiOiB7CiAgICAiYXV0b19zdGFydF9odWIiOiAiMCIsCiAgICAicmVib290X2FmdGVyX3Nlc3Npb25zIjogIjEwIiwKICAgICJkZWZhdWx0X3JvbGUiOiAibm9kZSIsCiAgICAidmlkZW9fcmVjb3JkaW5nX29wdGlvbnMiOiB7CiAgICAgICJ2aWRlb3NfdG9fa2VlcCI6ICI0MCIKICAgIH0sCiAgICAibm9kZV9jb25maWdfZmlsZXMiOiBbCiAgICAgICJub2RlXzU1NTUuanNvbiIKICAgIF0sCiAgICAiaHViX2NvbmZpZyI6IHt9LAogICAgImh1Yl9jb25maWdfZmlsZXMiOiBbXSwKICAgICJpZWRyaXZlciI6IHsKICAgICAgInZlcnNpb24iOiAiMi40NC4wIgogICAgfSwKICAgICJhdXRvX3N0YXJ0X25vZGUiOiAiMSIsCiAgICAiYXV0b191cGRhdGVfZHJpdmVycyI6ICIxIiwKICAgICJjaHJvbWVkcml2ZXIiOiB7CiAgICAgICJ2ZXJzaW9uIjogIjIuMTMiCiAgICB9LAogICAgIndlYmRyaXZlciI6IHsKICAgICAgInZlcnNpb24iOiAiMi40NC4wIgogICAgfQogIH0KfQ==" | |
$DecodedGridExtrasConfig = [System.Convert]::FromBase64String($Base64EncodedGridExtrasConfig) | |
Set-Content -Path $seleniumGridPath\selenium_grid_extras_config.json -Value $DecodedGridExtrasConfig -Encoding Byte | |
# create node config | |
$Base64EncodedNodeConfig = "ewogICJjYXBhYmlsaXRpZXMiOiBbCiAgICB7CiAgICAgICJwbGF0Zm9ybSI6ICJWSVNUQSIsCiAgICAgICJzZWxlbml1bVByb3RvY29sIjogIldlYkRyaXZlciIsCiAgICAgICJicm93c2VyTmFtZSI6ICJjaHJvbWUiLAogICAgICAibWF4SW5zdGFuY2VzIjogMwogICAgfSwKICAgIHsKICAgICAgInBsYXRmb3JtIjogIlZJU1RBIiwKICAgICAgInNlbGVuaXVtUHJvdG9jb2wiOiAiV2ViRHJpdmVyIiwKICAgICAgImJyb3dzZXJOYW1lIjogImludGVybmV0IGV4cGxvcmVyIiwKICAgICAgIm1heEluc3RhbmNlcyI6IDEKICAgIH0sCiAgICB7CiAgICAgICJwbGF0Zm9ybSI6ICJWSVNUQSIsCiAgICAgICJzZWxlbml1bVByb3RvY29sIjogIldlYkRyaXZlciIsCiAgICAgICJicm93c2VyTmFtZSI6ICJmaXJlZm94IiwKICAgICAgIm1heEluc3RhbmNlcyI6IDMKICAgIH0KICBdLAogICJjb25maWd1cmF0aW9uIjogewogICAgInByb3h5IjogImNvbS5ncm91cG9uLnNlbGVuaXVtZ3JpZGV4dHJhcy5ncmlkLnByb3hpZXMuU2V0dXBUZWFyZG93blByb3h5IiwKICAgICJtYXhTZXNzaW9uIjogMywKICAgICJwb3J0IjogNTU1NSwKICAgICJyZWdpc3RlciI6IHRydWUsCiAgICAidW5yZWdpc3RlcklmU3RpbGxEb3duQWZ0ZXIiOiAxMDAwMCwKICAgICJodWJQb3J0IjogNDQ0NCwKICAgICJodWJIb3N0IjogInNlbGVuaXVtaHViIiwKICAgICJub2RlU3RhdHVzQ2hlY2tUaW1lb3V0IjogMTAwMDAsCiAgICAiZG93blBvbGxpbmdMaW1pdCI6IDAKICB9Cn0=" | |
$DecodedNodeConfig = [System.Convert]::FromBase64String($Base64EncodedNodeConfig) | |
Set-Content -Path $seleniumGridPath\node_5555.json -Value $DecodedNodeConfig -Encoding Byte | |
# Create Start.bat file | |
Set-Content -Path $seleniumGridPath\startnode.bat -Value "cd $seleniumGridPath&java -jar selenium-grid-extras.jar" | |
schtasks.exe /Create /SC ONLOGON /TN "StartSeleniumNode" /TR "cmd /c ""C:\SeleniumGrid\startnode.bat""" | |
cd $seleniumGridPath | |
java -jar selenium-grid-extras.jar | |
if (Test-PendingReboot) { Invoke-Reboot } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment