Allow invokation of custom downloads

This commit is contained in:
Manuel Thalmann 2023-07-15 20:38:44 +02:00
parent 4431a89563
commit 9fd8ef86f5

View file

@ -12,11 +12,11 @@ if (-not ("OpenQA.Selenium.Firefox.FirefoxDriver" -as [type])) {
[System.Reflection.Assembly]::Load($bytes); [System.Reflection.Assembly]::Load($bytes);
} }
function Start-AutomatedDownload() { function Start-CustomDownload() {
param( param(
[Context] $context, [Context] $context,
[string] $url, [string] $url,
[string] $buttonSelector, [Action[OpenQA.Selenium.Firefox.FirefoxDriver]] $action,
[string] $outDir = $null [string] $outDir = $null
) )
@ -54,7 +54,7 @@ function Start-AutomatedDownload() {
$browser = [OpenQA.Selenium.Firefox.FirefoxDriver]::new($options); $browser = [OpenQA.Selenium.Firefox.FirefoxDriver]::new($options);
$browser.Navigate().GoToUrl($url); $browser.Navigate().GoToUrl($url);
$browser.FindElement([OpenQA.Selenium.By]::CssSelector("$buttonSelector")).Click(); $action.Invoke($browser);
while ($downloadChecker.Invoke()) { while ($downloadChecker.Invoke()) {
Write-Information "Waiting for download to finish..."; Write-Information "Waiting for download to finish...";
@ -72,3 +72,19 @@ function Start-AutomatedDownload() {
Remove-Item -Recurse $tempDir; Remove-Item -Recurse $tempDir;
return $result; return $result;
} }
function Start-AutomatedDownload() {
param(
[Context] $context,
[string] $url,
[string] $buttonSelector,
[string] $outDir = $null
)
$action = {
param([OpenQA.Selenium.Firefox.FirefoxDriver] $browser)
$browser.FindElement([OpenQA.Selenium.By]::CssSelector("$buttonSelector")).Click();
}
return Start-CustomDownload $context $url $action $outDir;
}