diff --git a/images/win/scripts/Installers/Install-Selenium.ps1 b/images/win/scripts/Installers/Install-Selenium.ps1 index af19dcd1..25525b50 100644 --- a/images/win/scripts/Installers/Install-Selenium.ps1 +++ b/images/win/scripts/Installers/Install-Selenium.ps1 @@ -5,17 +5,21 @@ # Create Selenium directory $seleniumDirectory = "C:\selenium\" -$seleniumFileName = "selenium-server-standalone.jar" - New-Item -ItemType directory -Path $seleniumDirectory -# Temporarily download Selenium 3.141.59, since 4.* can contain some breaking changes -#$url = "https://api.github.com/repos/SeleniumHQ/selenium/releases" -#[System.String] $seleniumReleaseUrl = (Invoke-RestMethod -Uri $url).assets.browser_download_url -match "selenium-server-standalone-.+.jar" +# Download Selenium +$seleniumMajorVersion = (Get-ToolsetContent).selenium.version +$seleniumBinaryName = (Get-ToolsetContent).selenium.binary_name +$seleniumFileName = "$seleniumBinaryName.jar" +$json = Invoke-RestMethod -Uri "https://api.github.com/repos/SeleniumHQ/selenium/releases?per_page=100" +$seleniumDownloadUrl = $json.Where{-not $_.prerelease}.assets.browser_download_url | Where-Object { $_ -like "*${seleniumBinaryName}-${seleniumMajorVersion}.*jar" } | Select-Object -First 1 -$seleniumDownloadUrl = "https://github.com/SeleniumHQ/selenium/releases/download/selenium-3.141.59/selenium-server-standalone-3.141.59.jar" Start-DownloadWithRetry -Url $seleniumDownloadUrl -Name $seleniumFileName -DownloadPath $seleniumDirectory +# Create an epmty file to retrive selenium version +$seleniumFullVersion = $seleniumDownloadUrl.Split("-")[1].Split("/")[0] +New-Item -Path $seleniumDirectory -Name "$seleniumBinaryName-$seleniumFullVersion" + # Add SELENIUM_JAR_PATH environment variable $seleniumBinPath = Join-Path $seleniumDirectory $seleniumFileName setx "SELENIUM_JAR_PATH" "$($seleniumBinPath)" /M diff --git a/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 b/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 index 2b819472..5e13eedf 100644 --- a/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 +++ b/images/win/scripts/SoftwareReport/SoftwareReport.Generator.ps1 @@ -119,6 +119,7 @@ $toolsList = @( (Get-StackVersion), (Get-SVNVersion), (Get-VSWhereVersion), + (Get-SeleniumVersion), (Get-SwigVersion), (Get-WinAppDriver), (Get-ZstdVersion), diff --git a/images/win/scripts/SoftwareReport/SoftwareReport.Tools.psm1 b/images/win/scripts/SoftwareReport/SoftwareReport.Tools.psm1 index ee47d502..5a85cc7a 100644 --- a/images/win/scripts/SoftwareReport/SoftwareReport.Tools.psm1 +++ b/images/win/scripts/SoftwareReport/SoftwareReport.Tools.psm1 @@ -275,3 +275,9 @@ function Get-SwigVersion { $swigVersion = $Matches.Version return "Swig $swigVersion" } + +function Get-SeleniumVersion { + $seleniumBinaryName = (Get-ToolsetContent).selenium.binary_name + $fullSeleniumVersion = (Get-ChildItem "C:\selenium\${seleniumBinaryName}-*").Name -replace "${seleniumBinaryName}-" + return "Selenium server $fullSeleniumVersion" +} \ No newline at end of file diff --git a/images/win/toolsets/toolset-2016.json b/images/win/toolsets/toolset-2016.json index 1e310ed6..e3e54e94 100644 --- a/images/win/toolsets/toolset-2016.json +++ b/images/win/toolsets/toolset-2016.json @@ -363,6 +363,10 @@ "cmd": "yamllint --version" } ], + "selenium": { + "version": "3", + "binary_name": "selenium-server-standalone" + }, "npm": { "global_packages": [ { "name": "yarn", "test": "yarn --version" }, diff --git a/images/win/toolsets/toolset-2019.json b/images/win/toolsets/toolset-2019.json index c902a205..32116547 100644 --- a/images/win/toolsets/toolset-2019.json +++ b/images/win/toolsets/toolset-2019.json @@ -394,6 +394,10 @@ "cmd": "yamllint --version" } ], + "selenium": { + "version": "3", + "binary_name": "selenium-server-standalone" + }, "npm": { "global_packages": [ { "name": "yarn", "test": "yarn --version" }, diff --git a/images/win/toolsets/toolset-2022.json b/images/win/toolsets/toolset-2022.json index d76b90b3..a86fb6c2 100644 --- a/images/win/toolsets/toolset-2022.json +++ b/images/win/toolsets/toolset-2022.json @@ -243,6 +243,10 @@ "cmd": "yamllint --version" } ], + "selenium": { + "version": "3", + "binary_name": "selenium-server-standalone" + }, "npm": { "global_packages": [ { "name": "yarn", "test": "yarn --version" },