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

Selenium C#代码发布后无法运行的问题求助

解决Selenium Manager发布后异常(退出码65)的方案

1. 修复路径空格问题

错误日志中Selenium Manager的路径D:\export folder\selenium-manager\windows\selenium-manager.exe包含空格,这是命令执行失败的常见诱因:

  • 直接修改发布目录路径,移除空格或特殊字符(比如将export folder改为export_folder)。
  • 若必须保留路径空格,确保调用时给路径添加引号,但优先推荐修改路径避免空格。

2. 确保Selenium Manager文件被正确发布

发布过程中可能遗漏Selenium Manager的可执行文件,需在项目文件中配置依赖复制:

  • 打开项目的.csproj文件,添加以下配置:
<ItemGroup>
  <Content Include="$(NuGetPackageRoot)\selenium.webdriver\*\selenium-manager\windows\selenium-manager.exe">
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
  </Content>
</ItemGroup>
  • 重新执行发布命令:dotnet publish -c Release
  • 检查发布目录下是否存在selenium-manager/windows/selenium-manager.exe,确认文件存在后再运行测试。

3. 提升权限运行测试

权限不足可能导致Selenium Manager无法访问系统资源或下载驱动:

  • 以管理员身份打开命令提示符/终端,再执行dotnet test {path of DLL}命令。

4. 绕过Selenium Manager,手动指定驱动路径

如果Selenium Manager持续异常,直接手动配置浏览器驱动:

  • 下载与浏览器版本匹配的驱动(ChromeDriver、GeckoDriver、EdgeDriver),放置到发布目录或固定路径。
  • 在测试代码中指定驱动路径,示例如下:
// Chrome驱动示例
var chromeOptions = new ChromeOptions();
using var driver = new ChromeDriver(@"D:\your-driver-directory", chromeOptions);

// Edge驱动示例
var edgeOptions = new EdgeOptions();
using var driver = new EdgeDriver(@"D:\your-driver-directory", edgeOptions);

5. 确保发布模式与运行环境兼容

  • 若使用自包含发布,指定与测试机器一致的目标运行时,例如:
dotnet publish -c Release -r win-x64 --self-contained true
  • 避免使用ReadyToRun或Trimmed发布模式,这类优化可能破坏Selenium的依赖结构。

6. 更新Selenium NuGet包至最新稳定版

旧版本Selenium Manager可能存在已知bug,更新可解决部分兼容性问题:

  • 在NuGet包管理器中更新Selenium.WebDriver和Selenium.Support到最新稳定版本,重新发布项目后再测试。

内容的提问来源于stack exchange,提问作者Aryan Arjun P K

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 04:55:15