You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure DevOps中使用Chocolatey安装指定版本Google Chrome失败问题

我来帮你拆解这两个在Azure DevOps跑Selenium测试时遇到的问题,都是实操里的常见坑:

一、指定Chrome版本安装失败的排查与解决

首先大概率是Chocolatey的版本声明语法出了问题,毕竟你已经确认版本在Chocolatey官网是存在的。下面是正确的操作方式和排查点:

  • 正确的版本指定姿势:
    如果用Azure DevOps自带的Chocolatey任务:

    1. 「软件包名称」栏必须填googlechrome——这是Chocolatey上Chrome的官方包名,别写错成chrome或者其他别名
    2. 「要安装的软件包版本」栏直接填完整的四段式版本号,比如118.0.5993.88,不要加任何前缀(比如v)、后缀或者包名
    3. 建议勾选「强制安装」选项,避免代理机器上已有的Chrome版本冲突

    如果是用PowerShell脚本直接执行Chocolatey命令,正确写法是:

    choco install googlechrome --version=118.0.5993.88 --force --yes
    

    --force强制覆盖现有版本,--yes自动跳过所有确认提示,适合流水线环境。

  • 额外排查点:

    • 核对版本号是否和Chocolatey官网完全一致,Chrome的版本号是四段式,少一段都会安装失败
    • 检查代理机器的Chocolatey源是否正常,可在流水线加一步执行choco source list,确保官方源是启用状态
    • 如果之前装过其他版本,先加一个卸载步骤:choco uninstall googlechrome --yes,再安装指定版本
二、在Azure DevOps中指定Chrome窗口宽度

完全可以,有两种常用方式,看你的测试需求选:

1. 通过Chrome启动参数设置(推荐流水线用)

在初始化ChromeDriver前,给ChromeOptions添加--window-size参数,无头模式下也能生效:

Java代码示例:

ChromeOptions options = new ChromeOptions();
// 宽度1920,高度1080,按需修改数值
options.addArguments("--window-size=1920,1080");
// 如果是无头模式,加上这句
options.addArguments("--headless=new");
WebDriver driver = new ChromeDriver(options);

Python代码示例:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
chrome_options.add_argument("--window-size=1920,1080")
chrome_options.add_argument("--headless=new")  # 无头模式可选
driver = webdriver.Chrome(options=chrome_options)

2. 通过Selenium API动态调整

如果需要在测试过程中改变窗口大小,初始化Driver后调用API即可:

Java代码示例:

import org.openqa.selenium.Dimension;

// 初始化driver之后
driver.manage().window().setSize(new Dimension(1920, 1080));

Python代码示例:

# 初始化driver之后
driver.set_window_size(1920, 1080)

内容的提问来源于stack exchange,提问作者Josh Ov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 19:27:52