From e9e5323c93a8aa2bd854b18513eeb3a6172108b3 Mon Sep 17 00:00:00 2001 From: Mikhail Timofeev Date: Fri, 6 Mar 2020 01:04:14 +0300 Subject: [PATCH] fix geckodriver output --- images/linux/scripts/installers/firefox.sh | 2 +- .../linux/scripts/installers/google-chrome.sh | 2 +- .../scripts/Installers/Install-Firefox.ps1 | 39 ------------------ .../Installers/Install-SeleniumWebDrivers.ps1 | 41 +++++++++++++++++++ 4 files changed, 43 insertions(+), 41 deletions(-) diff --git a/images/linux/scripts/installers/firefox.sh b/images/linux/scripts/installers/firefox.sh index aa920774a..c98f43c54 100644 --- a/images/linux/scripts/installers/firefox.sh +++ b/images/linux/scripts/installers/firefox.sh @@ -49,5 +49,5 @@ if ! command -v geckodriver; then fi echo "Lastly, documenting what we added to the metadata file" -ver=`./geckodriver --version|head -1|awk '{print $2}'` +ver=`geckodriver --version | head -1 |awk '{print $2}'` DocumentInstalledItem "Geckodriver (${ver}); Gecko Driver is available via GECKOWEBDRIVER environment variable" diff --git a/images/linux/scripts/installers/google-chrome.sh b/images/linux/scripts/installers/google-chrome.sh index 979e2b376..892380ce7 100644 --- a/images/linux/scripts/installers/google-chrome.sh +++ b/images/linux/scripts/installers/google-chrome.sh @@ -56,4 +56,4 @@ if ! command -v chromedriver; then fi echo "Lastly, documenting what we added to the metadata file" -DocumentInstalledItem "Chromedriver ($(chromedriver --version)); Chrome Driver is available via CHROMEWEBDRIVER environment variable" +DocumentInstalledItem "$(chromedriver --version); Chrome Driver is available via CHROMEWEBDRIVER environment variable" diff --git a/images/win/scripts/Installers/Install-Firefox.ps1 b/images/win/scripts/Installers/Install-Firefox.ps1 index eb6cea70d..7408b7289 100644 --- a/images/win/scripts/Installers/Install-Firefox.ps1 +++ b/images/win/scripts/Installers/Install-Firefox.ps1 @@ -25,42 +25,3 @@ pref("app.update.enabled", false);' -ItemType file -force $firefoxPreferencesFolder = Join-Path $firefoxDirectoryPath "defaults\pref" New-Item -path $firefoxPreferencesFolder -Name 'local-settings.js' -Value 'pref("general.config.obscure_value", 0); pref("general.config.filename", "mozilla.cfg");' -ItemType file -force - -Write-Host "Install Firefox WebDriver" - -$geckodriverJson = Invoke-RestMethod "https://api.github.com/repos/mozilla/geckodriver/releases/latest" -$geckodriverWindowsAsset = $geckodriverJson.assets | Where-Object { $_.name -Match "win64" } | Select-Object -First 1 - -Write-Host "Geckodriver version: $($geckodriverJson.tag_name)" - - -$DriversZipFile = $geckodriverWindowsAsset.name -Write-Host "Selenium drivers download and install..." - -$FirefoxDriverPath = Join-Path $env:SystemDrive "SeleniumWebDrivers\GeckoDriver" - -# Install Firefox Web Driver -Write-Host "FireFox driver download...." -if (-not (Test-Path -Path $FireFoxDriverPath)) { - New-Item -Path $FireFoxDriverPath -ItemType "directory" -} - -$DestFile = Join-Path $FireFoxDriverPath $DriversZipFile -$FireFoxDriverDownloadUrl = $geckodriverWindowsAsset.browser_download_url -try{ - Invoke-WebRequest -Uri $FireFoxDriverDownloadUrl -OutFile $DestFile -} catch { - Write-Error "[!] Failed to download $DriversZipFile" - exit 1 -} - -Write-Host "FireFox driver install...." -Expand-Archive -Path $DestFile -DestinationPath $FireFoxDriverPath -Force -Remove-Item -Path $DestFile -Force - - -Write-Host "Setting the environment variables" -Add-MachinePathItem -PathItem $FireFoxDriverPath -setx GeckoWebDriver "$FirefoxDriverPath" /M; - -exit 0 \ No newline at end of file diff --git a/images/win/scripts/Installers/Install-SeleniumWebDrivers.ps1 b/images/win/scripts/Installers/Install-SeleniumWebDrivers.ps1 index 6170a83e5..31cec6515 100644 --- a/images/win/scripts/Installers/Install-SeleniumWebDrivers.ps1 +++ b/images/win/scripts/Installers/Install-SeleniumWebDrivers.ps1 @@ -94,3 +94,44 @@ $PathValue += ";$EdgeDriverPath\"; Set-ItemProperty -Path $regEnvKey -Name 'Path' -Value $PathValue; exit 0; + +# Install Firefox gecko Web Driver +Write-Host "Install Firefox WebDriver" + +$geckodriverJson = Invoke-RestMethod "https://api.github.com/repos/mozilla/geckodriver/releases/latest" +$geckodriverWindowsAsset = $geckodriverJson.assets | Where-Object { $_.name -Match "win64" } | Select-Object -First 1 + +$geckodriverVersion = $geckodriverJson.tag_name +Write-Host "Geckodriver version: $geckodriverVersion" + +$DriversZipFile = $geckodriverWindowsAsset.name +Write-Host "Selenium drivers download and install..." + +$FirefoxDriverPath = Join-Path $SeleniumWebDriverPath "GeckoDriver" +$geckodriverVersion.Substring(1) | Out-File -FilePath "$FirefoxDriverPath\versioninfo.txt" -Force; + +# Install Firefox Web Driver +Write-Host "FireFox driver download...." +if (-not (Test-Path -Path $FireFoxDriverPath)) { + New-Item -Path $FireFoxDriverPath -ItemType "directory" +} + +$DestFile = Join-Path $FireFoxDriverPath $DriversZipFile +$FireFoxDriverDownloadUrl = $geckodriverWindowsAsset.browser_download_url +try{ + Invoke-WebRequest -Uri $FireFoxDriverDownloadUrl -OutFile $DestFile +} catch { + Write-Error "[!] Failed to download $DriversZipFile" + exit 1 +} + +Write-Host "FireFox driver install...." +Expand-Archive -Path $DestFile -DestinationPath $FireFoxDriverPath -Force +Remove-Item -Path $DestFile -Force + + +Write-Host "Setting the environment variables" +Add-MachinePathItem -PathItem $FireFoxDriverPath +setx GeckoWebDriver "$FirefoxDriverPath" /M; + +exit 0