From a29d0c400adae9aa13c6bbbf2898e868a680b7b6 Mon Sep 17 00:00:00 2001 From: Aleksandr Chebotov <47745270+al-cheb@users.noreply.github.com> Date: Thu, 28 May 2020 09:00:23 +0300 Subject: [PATCH] Update IEDriverServer url (#944) * update IEDriverServer url * update path * add versioninfo.txt --- .../Installers/Install-IEWebDriver.ps1 | 46 +++++++++++-------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/images/win/scripts/Installers/Install-IEWebDriver.ps1 b/images/win/scripts/Installers/Install-IEWebDriver.ps1 index 87104c1aa..e62b8ab62 100644 --- a/images/win/scripts/Installers/Install-IEWebDriver.ps1 +++ b/images/win/scripts/Installers/Install-IEWebDriver.ps1 @@ -2,31 +2,37 @@ ## File: Install-SeleniumWebDrivers.ps1 ## Desc: Install Selenium Web Drivers ################################################################################ -$DestinationPath = "$($env:SystemDrive)\" -$DriversZipFile = "SeleniumWebDrivers.zip" -Write-Host "Destination path: [$DestinationPath]" -Write-Host "Selenium drivers download and install..." + try { - Invoke-WebRequest -UseBasicParsing -Uri "https://seleniumwebdrivers.blob.core.windows.net/seleniumwebdrivers/${DriversZipFile}" -OutFile $DriversZipFile -} -catch { - Write-Error "[!] Failed to download $DriversZipFile" + $latestReleaseUrl = "https://selenium-release.storage.googleapis.com/" + $latestReleaseInfo = Invoke-RestMethod -Uri $latestReleaseUrl + $latestIEVersion = $latestReleaseInfo.ListBucketResult.Contents | Where-Object Key -match "IEDriverServer_x64" | Sort-Object LastModified | Select-Object -ExpandProperty Key -Last 1 + $ieDriverUrl = -join ($latestReleaseUrl, $latestIEVersion) +} catch { + Write-Error "[!] Failed to get IEDriver version [$latestReleaseUrl]: $_" exit 1 } -$TempSeleniumDir = Join-Path $Env:TEMP "SeleniumWebDrivers" -Extract-7Zip -Path $DriversZipFile -DestinationPath $Env:TEMP -Remove-Item $DriversZipFile - -$SeleniumWebDriverPath = Join-Path $DestinationPath "SeleniumWebDrivers" -$IEDriverPathTemp = Join-Path $TempSeleniumDir 'IEDriver' - -if (-not (Test-Path -Path $SeleniumWebDriverPath)) { - New-Item -Path $SeleniumWebDriverPath -ItemType "directory" +# Download IE selenium driver +try { + Write-Host "Selenium IEDriverServer download and install..." + $driverZipFile = Start-DownloadWithRetry -Url $ieDriverUrl -Name "SeleniumWebDrivers.zip" +} +catch { + Write-Error "[!] Failed to download $ieDriverUrl" + exit 1 } -Move-Item -Path "$IEDriverPathTemp" -Destination $SeleniumWebDriverPath +$ieDriverPath = "C:\SeleniumWebDrivers\IEDriver" +if (-not (Test-Path -Path $ieDriverPath)) { + $null = New-Item -Path $ieDriverPath -ItemType Directory -Force +} -Write-Host "Setting the environment variables" +Extract-7Zip -Path $driverZipFile -DestinationPath $ieDriverPath +Remove-Item $driverZipFile -setx IEWebDriver "C:\SeleniumWebDrivers\IEDriver" /M +Write-Host "Get the IEDriver version..." +(Get-Item "$ieDriverPath\IEDriverServer.exe").VersionInfo.FileVersion | Out-File -FilePath "$ieDriverPath\versioninfo.txt" + +Write-Host "Setting the IEWebDriver environment variables" +setx IEWebDriver $ieDriverPath /M