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

派生测试中DriverManager在Project A与B表现不一致问题

问题背景

我有一个C#自动化解决方案,包含两个项目:

  • Project A:包含使用DriverManager创建驱动的BaseTest类,以及继承自BaseTest的测试类ProjectATest。
  • Project B:包含继承自BaseTest的测试类ProjectBTest。
问题描述

我的Chrome版本是113,最新版本为114。执行Project A的测试时,DriverManager正常创建113版本的驱动;但执行Project B的测试时,它创建了114版本的驱动,导致测试失败。

异常信息

OneTimeSetUp: System.InvalidOperationException : session not created: This version of ChromeDriver only supports Chrome version 114
Current browser version is 113.0.5672.129 with binary path C:\Program Files\Google\Chrome\Application\chrome.exe (SessionNotCreated)

相关代码

BaseTest类(驱动创建代码)

namespace Project_A
{
    public class BaseTest
    {
        protected IWebDriver driver;

        [OneTimeSetUp]
        public void Setup()
        {
            new DriverManager().SetUpDriver(new ChromeConfig());
            driver = new ChromeDriver();

            driver.Navigate().GoToUrl("https://stackoverflow.com/");
        }
    }
}

ProjectATest类

namespace Project_A
{
    internal class ProjectATest : BaseTest
    {
        [Test]
        public void TestA() => Assert.Pass();
    }
}

ProjectBTest类

namespace Project_B
{
    internal class ProjectBTest : BaseTest
    {
        [Test]
        public void TestB() => Assert.Pass();
    }
}

补充:使用Firefox时一切运行正常。

解决方案

1. 强制指定ChromeDriver版本

在ChromeConfig中显式指定需要的113版本,避免DriverManager自动拉取最新版本:

new DriverManager().SetUpDriver(new ChromeConfig
{
    Version = "113.0.5672.63" // 对应你Chrome版本的Driver版本,可根据实际情况调整
});

2. 统一项目依赖包版本

检查Project B中DriverManager相关的NuGet包(如WebDriverManager)版本,确保和Project A完全一致。如果Project B的包版本更新,可能会改变驱动拉取逻辑,统一版本即可解决差异问题。

3. 清理Driver缓存

DriverManager会缓存下载的驱动,手动清理缓存目录(通常为%USERPROFILE%\.cache\selenium)中的114版本ChromeDriver,确保测试时只能调用113版本的驱动文件。

4. 指定Chrome二进制路径(可选)

如果系统中存在多个Chrome版本,初始化ChromeDriver时显式指定当前使用的113版本二进制路径,避免版本检测混乱:

var options = new ChromeOptions();
options.BinaryLocation = @"C:\Program Files\Google\Chrome\Application\chrome.exe";
driver = new ChromeDriver(options);

内容的提问来源于stack exchange,提问作者I.sh.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 19:38:23