Last active
August 29, 2015 14:23
-
-
Save bbhenry/122275189b00630aa468 to your computer and use it in GitHub Desktop.
Selenium Grid Extra Node Boxstarter Script
This file contains 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
Disable-UAC | |
if (Test-PendingReboot) { Invoke-Reboot } | |
Update-ExecutionPolicy Unrestricted | |
Set-WindowsExplorerOptions -EnableShowHiddenFilesFoldersDrives -EnableShowProtectedOSFiles -EnableShowFileExtensions -EnableShowFullPathInTitleBar | |
Enable-RemoteDesktop | |
Disable-InternetExplorerESC | |
$seleniumGridPath = "c:\SeleniumGrid" | |
$seleniumGridExtraDownloadUrl = "https://github.com/groupon/Selenium-Grid-Extras/releases/download/1.10.0/SeleniumGridExtras-1.10.0-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 | |
# Downloading Selenium Grid Extra | |
Invoke-WebRequest $seleniumGridExtraDownloadUrl -OutFile $seleniumGridPath\selenium-grid-extras.jar | |
# Set Selenium Grid Extra to run on boot | |
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