需要使用 PowerShell 在前台远程打开 Chrome 设置帮助
Need to remotely open Chrome Settings Help in foreground using PowerShell
我有一个要求,每天运行一个脚本,如果有新版本发布,自动更新“Chrome浏览器”。我正在使用如下所示的 PowerShell 脚本:
Add-Type -Path "C:\seleniumdrivers\webdriver.dll"
$ChromeDriver = New-Object OpenQA.Selenium.Chrome.ChromeDriver
$ChromeDriver.Navigate().GoToURL("chrome://settings/help")
如果我在我的系统上或在 VM System X 上手动执行此操作,它会起作用(Chrome 打开,设置 > 帮助打开)。
但是,如果我通过 TFS > 发布定义 > PowerShell 任务将其作为 PowerShell 任务执行以在系统 X 上执行,这将在该系统 X 中作为后台进程打开 chrome。
如何让 Chrome 浏览器在前台打开而不是作为后台进程打开?
附加信息
我无法使用任何其他 PowerShell 命令(例如 Start-Process、“chrome.exe”、“www.google.com”等导航到“Chrome 设置帮助”。以上似乎是唯一的方法。
Chrome设置帮助也可以使用SendKeys打开,但由于发送键不可靠,所以不能使用。
系统 X 上有一个计划任务,每小时 运行s GoogleUpdate.exe,如果有新版本可用,它会依次更新 Google Chrome。但是,最近系统 X 上的这个计划任务 运行(检查了所有日志)但它没有更新最新的 97 版本,即使在一天之后。这就是为什么我更喜欢 运行 PowerShell 脚本的原因。
也更喜欢自动执行此操作,因为我们在系统 X 上有一些自动化的 Selenium 测试用例 运行ning 需要始终 运行 在最新的 Chrome 浏览器上使用最新的 Chrome driver。浏览器版本和 Driver 之间的任何不同步都会导致测试用例失败。这就是为什么更喜欢将其自动化(即使建议手动升级 Chrome)。
即使 chrome 浏览器没有在前台打开,浏览器也会导航到“chrome://settings/help”,从而将 chrome 更新到最新版本(如果存在最新版本)。
当这是 运行 通过构建在远程 VM 中时,有 chrome 个实例在后台打开(可以在任务管理器中验证这些)并且如果 [=29] 的新版本=] 可用,浏览器更新(当 chrome 从 96 -> 97、97 -> 98.X、98.X -> 98.Y、[=21= 更新时验证了这一点] -> 99).这也是我们使用 GoogleUpdate.exe 时发生更新的方式 - GoogleUpdate.exe 在后台启动 Chrome 浏览器并在有新版本可用时更新它。
因此,无论 chrome 浏览器是在前台还是后台打开,Chrome 浏览器都会执行预期的操作和更新。
我有一个要求,每天运行一个脚本,如果有新版本发布,自动更新“Chrome浏览器”。我正在使用如下所示的 PowerShell 脚本:
Add-Type -Path "C:\seleniumdrivers\webdriver.dll"
$ChromeDriver = New-Object OpenQA.Selenium.Chrome.ChromeDriver
$ChromeDriver.Navigate().GoToURL("chrome://settings/help")
如果我在我的系统上或在 VM System X 上手动执行此操作,它会起作用(Chrome 打开,设置 > 帮助打开)。
但是,如果我通过 TFS > 发布定义 > PowerShell 任务将其作为 PowerShell 任务执行以在系统 X 上执行,这将在该系统 X 中作为后台进程打开 chrome。
如何让 Chrome 浏览器在前台打开而不是作为后台进程打开?
附加信息
我无法使用任何其他 PowerShell 命令(例如 Start-Process、“chrome.exe”、“www.google.com”等导航到“Chrome 设置帮助”。以上似乎是唯一的方法。
Chrome设置帮助也可以使用SendKeys打开,但由于发送键不可靠,所以不能使用。
系统 X 上有一个计划任务,每小时 运行s GoogleUpdate.exe,如果有新版本可用,它会依次更新 Google Chrome。但是,最近系统 X 上的这个计划任务 运行(检查了所有日志)但它没有更新最新的 97 版本,即使在一天之后。这就是为什么我更喜欢 运行 PowerShell 脚本的原因。
也更喜欢自动执行此操作,因为我们在系统 X 上有一些自动化的 Selenium 测试用例 运行ning 需要始终 运行 在最新的 Chrome 浏览器上使用最新的 Chrome driver。浏览器版本和 Driver 之间的任何不同步都会导致测试用例失败。这就是为什么更喜欢将其自动化(即使建议手动升级 Chrome)。
即使 chrome 浏览器没有在前台打开,浏览器也会导航到“chrome://settings/help”,从而将 chrome 更新到最新版本(如果存在最新版本)。
当这是 运行 通过构建在远程 VM 中时,有 chrome 个实例在后台打开(可以在任务管理器中验证这些)并且如果 [=29] 的新版本=] 可用,浏览器更新(当 chrome 从 96 -> 97、97 -> 98.X、98.X -> 98.Y、[=21= 更新时验证了这一点] -> 99).这也是我们使用 GoogleUpdate.exe 时发生更新的方式 - GoogleUpdate.exe 在后台启动 Chrome 浏览器并在有新版本可用时更新它。
因此,无论 chrome 浏览器是在前台还是后台打开,Chrome 浏览器都会执行预期的操作和更新。