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

使用Coded UI测试在Chrome浏览器中无法访问URL的问题求助

解决Coded UI测试在Chrome中启动失败的问题

针对你遇到的Coded UI测试在Chrome中报错System.ArgumentNullException的问题,结合你的环境配置,我整理了几个可能的解决方案,你可以逐一尝试:

1. 修复URL的协议头缺失问题

你的代码中使用new System.Uri("Xyz.com"),这里缺少了http://或https://协议头,这很可能是触发空引用异常的直接原因。浏览器启动需要完整的合法URL,修改为:

new System.Uri("http://Xyz.com")

2. 确保ChromeDriver能被测试框架找到

VS2013的Coded UI测试调用ChromeDriver时,需要驱动程序在可访问路径内,你可以通过以下方式配置:

  • 将chromedriver.exe复制到测试项目的输出目录(比如bin\Debug文件夹)
  • 把ChromeDriver所在目录添加到系统的PATH环境变量中
  • 或者在代码中显式指定驱动路径:
var driverService = ChromeDriverService.CreateDefaultService(@"C:\path\to\chromedriver\folder");
var driver = new ChromeDriver(driverService);

3. 验证组件版本兼容性

虽然Chrome 66和ChromeDriver 2.38是兼容的,但要确保你安装的Selenium WebDriver版本也适配这个组合。建议使用NuGet安装Selenium.WebDriver和Selenium.Support包,版本选择3.12.0及以上(这个版本完美支持Chrome 66和Driver 2.38)。

4. 调整测试初始化代码的顺序

有时候BrowserWindow.CurrentBrowser的设置时机会影响启动逻辑,你可以调整代码顺序,确保URL合法且浏览器设置正确后再启动:

[TestInitialize()] 
public void MyTestInitialize() { 
    // 先定义完整的目标URL
    Uri targetUrl = new Uri("http://Xyz.com");
    // 设置当前使用的浏览器为Chrome
    BrowserWindow.CurrentBrowser = "Chrome";
    // 启动浏览器并打开目标地址
    BrowserWindow browser = BrowserWindow.Launch(targetUrl);
}

5. 检查测试项目的引用配置

确认你的测试项目已正确引用Selenium相关组件:

  • 打开NuGet包管理器,检查Selenium.WebDriver和Selenium.Support是否已安装,且版本一致
  • 如果是手动添加的dll文件,建议删除后通过NuGet重新安装,避免版本不匹配或引用缺失问题

如果以上步骤都无法解决问题,你可以启用测试的详细日志功能,查看更具体的异常堆栈信息,进一步定位问题根源。

内容的提问来源于stack exchange,提问作者Mahadev Gawade

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:00:27