From a249fea06e32803fdf5f6939b50fcd9531767cc4 Mon Sep 17 00:00:00 2001 From: Vladimir Safonkin Date: Wed, 29 Apr 2020 15:49:53 +0300 Subject: [PATCH 1/4] Add retry logic for selenium --- images/win/scripts/Installers/Install-Selenium.ps1 | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/images/win/scripts/Installers/Install-Selenium.ps1 b/images/win/scripts/Installers/Install-Selenium.ps1 index ac38c3010a8b..ef6696b61bf5 100644 --- a/images/win/scripts/Installers/Install-Selenium.ps1 +++ b/images/win/scripts/Installers/Install-Selenium.ps1 @@ -3,6 +3,8 @@ ## Desc: Install Selenium Server standalone ################################################################################ +Import-Module -Name ImageHelpers -Force + # Acquire latest Selenium release number from GitHub API $latestReleaseUrl = "https://api.github.com/repos/SeleniumHQ/selenium/releases/latest" try { @@ -21,15 +23,11 @@ Write-Host "Downloading selenium-server-standalone v$seleniumVersion..." $seleniumReleaseUrl = "https://selenium-release.storage.googleapis.com/$($seleniumVersion.ToString(2))/selenium-server-standalone-$($seleniumVersion.ToString(3)).jar" New-Item -ItemType directory -Path "C:\selenium\" -$seleniumBinPath = "C:\selenium\selenium-server-standalone.jar" -try { - Invoke-WebRequest -UseBasicParsing -Uri $seleniumReleaseUrl -OutFile $seleniumBinPath -} catch { - Write-Error $_ - exit 1 -} + +Start-DownloadWithRetry -Url $seleniumReleaseUrl -Name "selenium-server-standalone.jar" -DownloadPath "C:\selenium\" Write-Host "Add selenium jar to the environment variables..." +$seleniumBinPath = "C:\selenium\selenium-server-standalone.jar" setx "SELENIUM_JAR_PATH" "$($seleniumBinPath)" /M exit 0 From b0d3323e45ee9a4115931ea700dcadb09ee1eac0 Mon Sep 17 00:00:00 2001 From: Vladimir Safonkin Date: Thu, 30 Apr 2020 10:14:46 +0300 Subject: [PATCH 2/4] Refactoring --- images/win/scripts/Installers/Install-Selenium.ps1 | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/images/win/scripts/Installers/Install-Selenium.ps1 b/images/win/scripts/Installers/Install-Selenium.ps1 index ef6696b61bf5..8b7947e5c866 100644 --- a/images/win/scripts/Installers/Install-Selenium.ps1 +++ b/images/win/scripts/Installers/Install-Selenium.ps1 @@ -22,12 +22,15 @@ $seleniumVersion = [version]::Parse($seleniumVersionString) Write-Host "Downloading selenium-server-standalone v$seleniumVersion..." $seleniumReleaseUrl = "https://selenium-release.storage.googleapis.com/$($seleniumVersion.ToString(2))/selenium-server-standalone-$($seleniumVersion.ToString(3)).jar" -New-Item -ItemType directory -Path "C:\selenium\" +$seleniumDirectory = "C:\selenium\" +$seleniumFileName = "selenium-server-standalone.jar" -Start-DownloadWithRetry -Url $seleniumReleaseUrl -Name "selenium-server-standalone.jar" -DownloadPath "C:\selenium\" +New-Item -ItemType directory -Path $seleniumDirectory + +Start-DownloadWithRetry -Url $seleniumReleaseUrl -Name $seleniumFileName -DownloadPath $seleniumDirectory Write-Host "Add selenium jar to the environment variables..." -$seleniumBinPath = "C:\selenium\selenium-server-standalone.jar" +$seleniumBinPath = Join-Path $seleniumDirectory $seleniumFileName setx "SELENIUM_JAR_PATH" "$($seleniumBinPath)" /M exit 0 From bbdf6cf46c6a8b58ceaf1802664bb834d194ac06 Mon Sep 17 00:00:00 2001 From: Vladimir Safonkin Date: Tue, 5 May 2020 09:26:50 +0300 Subject: [PATCH 3/4] Add retries for Selenium release info --- images/win/scripts/Installers/Install-Selenium.ps1 | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/images/win/scripts/Installers/Install-Selenium.ps1 b/images/win/scripts/Installers/Install-Selenium.ps1 index 8b7947e5c866..8f4d5868bba8 100644 --- a/images/win/scripts/Installers/Install-Selenium.ps1 +++ b/images/win/scripts/Installers/Install-Selenium.ps1 @@ -8,7 +8,7 @@ Import-Module -Name ImageHelpers -Force # Acquire latest Selenium release number from GitHub API $latestReleaseUrl = "https://api.github.com/repos/SeleniumHQ/selenium/releases/latest" try { - $latestReleaseInfo = Invoke-RestMethod -Uri $latestReleaseUrl + $latestReleaseInfo = Invoke-RestMethod -Uri $latestReleaseUrl -MaximumRetryCount 10 -RetryIntervalSec 10 } catch { Write-Error $_ exit 1 @@ -32,5 +32,3 @@ Start-DownloadWithRetry -Url $seleniumReleaseUrl -Name $seleniumFileName -Downlo Write-Host "Add selenium jar to the environment variables..." $seleniumBinPath = Join-Path $seleniumDirectory $seleniumFileName setx "SELENIUM_JAR_PATH" "$($seleniumBinPath)" /M - -exit 0 From f2eb5adb94aa8c94d176ddfde76f3f5745620337 Mon Sep 17 00:00:00 2001 From: Vladimir Safonkin Date: Tue, 5 May 2020 20:53:07 +0300 Subject: [PATCH 4/4] Minor fix --- images/win/scripts/Installers/Install-Selenium.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/images/win/scripts/Installers/Install-Selenium.ps1 b/images/win/scripts/Installers/Install-Selenium.ps1 index 8f4d5868bba8..720e28039ea5 100644 --- a/images/win/scripts/Installers/Install-Selenium.ps1 +++ b/images/win/scripts/Installers/Install-Selenium.ps1 @@ -8,7 +8,7 @@ Import-Module -Name ImageHelpers -Force # Acquire latest Selenium release number from GitHub API $latestReleaseUrl = "https://api.github.com/repos/SeleniumHQ/selenium/releases/latest" try { - $latestReleaseInfo = Invoke-RestMethod -Uri $latestReleaseUrl -MaximumRetryCount 10 -RetryIntervalSec 10 + $latestReleaseInfo = Invoke-RestMethod -Uri $latestReleaseUrl } catch { Write-Error $_ exit 1