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

VuGen脚本回放HTTP 400错误:如何移除上传路径中的盘符(C:、D:)

解决VuGen脚本回放时因路径含盘符冒号导致的HTTP 400错误

当然没问题!这个问题很常见,咱们直接在VuGen脚本里加个字符串处理逻辑就能搞定——把路径里的盘符部分(比如C:\)去掉,只保留后面的路径内容就行。下面给你几种实用的实现方式:

方法1:C语言脚本直接处理字符串

如果你的脚本是基于C语言的,用标准字符串函数就能快速截取目标路径:

// 原录制的带盘符路径
char originalFullPath[] = "C:\\Users\\**********\\Dummypdf.pdf";
char *cleanPath;

// 定位到":\"的位置,跳过这两个字符取后面的内容
cleanPath = strstr(originalFullPath, ":\\");
if (cleanPath != NULL) {
    cleanPath += 2; // 跳过":\"
} else {
    // 异常情况 fallback 到原路径
    cleanPath = originalFullPath;
}

// 替换上传请求里的路径为处理后的cleanPath
web_submit_data("upload_action",
    "Action=http://your-test-env/upload",
    "Method=POST",
    "EncType=multipart/form-data",
    "RecContentType=text/html",
    "Referer=",
    "Snapshot=upload_snap.inf",
    "Mode=HTML",
    ITEMDATA,
    "Name=uploadFile", "Value={cleanPath}", "File=Yes", ENDITEM,
    LAST);

方法2:用VuGen内置函数参数化处理

如果不想写纯C代码,也可以通过参数化结合内置函数实现:

  1. 把原带盘符的路径存到参数{OriginalFilePath}里;
  2. 创建新参数{CleanFilePath},在参数值里用lr_substr截取从第3位开始的内容(因为C:\占3个字符):
    lr_substr("{OriginalFilePath}", 3, strlen("{OriginalFilePath}") - 3)
    
  3. 最后在上传请求中替换为{CleanFilePath}即可。

方法3:录制阶段提前规避

更省心的方式是在录制脚本时就选择不带盘符的路径:比如把测试文件放到某个子目录,直接选择相对路径(比如Users\**********\Dummypdf.pdf),这样录制出来的脚本本身就不会包含盘符,回放时自然不会触发400错误。

修改完脚本后记得先回放验证,确保处理后的路径符合测试环境validFileNamePattern的规则,同时确认文件上传功能能正常完成哦!

内容的提问来源于stack exchange,提问作者Md Golam Mortuza

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 12:02:30