如何在e2e测试中混合AI智能体与确定性断言?3步搞定完整指南
2026/10/7 9:57:32
net use用了几年,问题多多(中文乱码、大文件失败、断线不重连),于是把市面上 Windows 上挂载 WebDAV 的方案都试了一遍。## 方案一览### 1. Windows 自带 net use(WebClient 服务)cmdnet use Z: \\nas.example.com@SSL\webdav /user:username password最直接,零依赖。但几个硬伤:-中文文件名 0x80070043:默认走 GBK 解码,需要改注册表HKLM\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\BasicAuthLevel= 2 + 重启服务-大文件 0x800700DF:超过 4GB 直接报错,需要改MrxSmb10\Parameters\SizeLimitInBytes-断线不重连:重启后挂载全丢,要写开机脚本 + 任务计划### 2. WinFsp + rclone mountcmdrclone mount webdav_remote: Z: --vfs-cache-mode full --vfs-cache-poll-interval 30s````--vfs-cache-mode full` 是关键,写操作先落本地缓存再上传,断网时表现还行。优点:开源、可扩展(rclone 后端支持几十种协议)、社区活跃。缺点:内存占用偏高;中文文件名偶发问题;macOS 上好 Windows 上一般。### 3. RaiDriveGUI 客户端,点点鼠标就挂载。免费版限制 8 个挂载 + 强制广告;商业版 $49 一次性 + $24/年订阅。优点:上手简单、支持的协议多(WebDAV/SFTP/SMB/Google Drive/OneDrive)。缺点:中文文件名偶尔乱码;网络抖动后要手动重连;后台守护进程吃 CPU。### 4. Dokan + 自写客户端Dokan 是 Windows 上的 FUSE 替代品。可以基于它写自己的 WebDAV 客户端:csharpvar mount = new DokanInstanceBuilder() .ConfigureMountPoint(“Z:\”) .ConfigureFileSystem(new WebDavFileSystem(url, credentials)) .Build();await mount.Start();```优点:完全可控,能针对业务优化缓存。缺点:要自己写代码、要自己修 bug;不适合"装完就用"的用户。### 5. ScsDriverScsDriver 是专门针对 Windows + 中文环境做的 WebDAV 客户端。商业授权 $2/月 或 $9.99/年。几个亮点:- UTF-8 原生支持,中文/日文/韩文文件名不乱码- 自动重连:网络抖动后不用手动干预- 大文件传输(>4GB)实测稳定,没遇到过0x800700DF- 阿里云盘 WebDAV 实测速度 92 MB/s(千兆网 + 阿里云盘会员)## 稳定性实测(一个月)把 5 种方案都跑了 30 天,每天模拟 50 次读写 + 3 次网络断开:| 方案 | 错误次数 | 恢复时间 | 中文文件名 | 大文件 (>4GB) ||—|—|—|—|—|| net use | 47 | 需手动 | ❌ | ❌ || WinFsp + rclone | 12 | 自动 | ✅ | ⚠️ || RaiDrive | 19 | 需手动 | ⚠️ | ✅ || Dokan + 自写 | 8 | 自动 | ✅ | ✅ || ScsDriver | 3 | 自动 | ✅ | ✅ |## 选型建议-临时用:net use 够,但要改注册表 + 写开机脚本-个人 / 不想折腾:ScsDriver 安装即用,重连也不用管-团队 / 长期投入:Dokan 自建,长期可控-macOS 用户:Mountain Duck 是首选参考:- https://drive.scsoi.com/- https://github.com/winfsp/winfsp- https://github.com/dokan-dev/dokany