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

如何在C#中为Aerokube Moon配置Chrome Options?

在Selenium 3 C#中正确配置Aerokube Moon的方法

你的代码核心问题在于使用了dynamic类型的字典,Selenium 3对Capability的类型解析要求严格,dynamic类型会导致配置无法被Moon服务正确序列化解析。以下是修正后的完整配置方案:

正确代码示例

// 1. 用强类型字典定义Moon配置项(避免dynamic导致的序列化问题)
var moonOptions = new Dictionary<string, object>
{
    ["enableVideo"] = true,
    ["enableVNC"] = true,
    ["videoName"] = $"{testName}.mp4"
};

// 2. 配置ChromeOptions并添加Moon专属Capability
var chromeOptions = new ChromeOptions();
// 第三个参数设为true,强制覆盖可能存在的同名Capability
chromeOptions.AddAdditionalCapability("moon:options", moonOptions, true);

// 3. 初始化RemoteWebDriver,连接到Moon的Hub服务
var driver = new RemoteWebDriver(
    new Uri("http://moon.aerokube.local:4444/wd/hub"), 
    chromeOptions
);

关键修正点说明

  • 替换dynamic字典:Selenium 3要求Capability的键必须是字符串类型,值为可序列化的对象(如bool、string),使用Dictionary<string, object>可以确保配置被Moon服务正确解析。
  • 强制覆盖Capability:AddAdditionalCapability的第三个参数设为true,避免与Chrome内置Capability冲突。
  • 指定Moon Hub地址:确保RemoteWebDriver连接到Moon的Hub端点(默认端口4444),而非直接访问UI地址。

额外检查项

  • 确认测试环境能访问http://moon.aerokube.local:4444/wd/hub,可通过浏览器访问该地址验证服务可用性。
  • 若仍有错误,查看Moon服务的日志,检查是否存在视频存储路径配置错误或权限问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 02:45:35