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

在Vugen脚本编写中无法获取关联详情的技术求助

解决VUGEN脚本中无法关联动态ID的问题

我来帮你捋捋这个问题!从你贴的HTML代码来看,你应该是想提取openCalenderModal(event,393517)里的393517这个动态ID对吧?这种动态生成的参数是VUGEN性能测试里最常见的关联场景,下面给你两种靠谱的解决方法:

方法一:用VUGEN自动关联快速尝试

VUGEN自带的自动关联工具能帮你识别大部分动态参数,步骤很简单:

  • 录制完脚本后,点击工具栏的「Correlate」按钮(或者直接按Ctrl+F8)
  • 在弹出的关联规则窗口里,点击「Add」添加自定义规则:
    • 把**左边界(Left Boundary)**设为openCalenderModal(event,
    • 把**右边界(Right Boundary)**设为)
    • 正则表达式可以直接用默认的,或者手动写openCalenderModal(event,(\d+))来精准匹配数字
  • 点击「Correlate」让工具自动生成关联参数,之后验证脚本运行是否正常

方法二:手动编写关联函数(更可控)

如果自动关联没识别到目标参数,手动写关联是更稳妥的方式,记住关联函数必须放在返回这段HTML的请求之前:

  1. 先找到脚本中返回你贴的这段HTML的请求(通常是web_url或者web_submit_data)
  2. 在这个请求前面添加web_reg_save_param(或者web_reg_save_param_ex,取决于你用的协议版本),示例代码如下:
    web_reg_save_param("CalenderID",
        "LB=openCalenderModal(event,",
        "RB=)",
        "Ord=1", // 如果页面有多个相同格式的ID,指定取第几个,这里取第一个填1
        "Search=Body", // 从响应体里搜索
        LAST);
    
  3. 之后在需要用到这个ID的地方,把硬编码的393517替换成{CalenderID}就行

进阶:精准匹配指定行的ID

如果页面有多个类似的日历按钮,你需要精准关联AMT New Test Class这一行的ID,可以用更精确的边界匹配,避免误抓其他行的参数:

web_reg_save_param("CalenderID",
    "LB=AMT New Test Class</td>.*?openCalenderModal(event,",
    "RB=)",
    "Ord=1",
    "Search=Body",
    "RelFrameId=1", // 如果页面用了框架,记得指定对应的框架ID
    LAST);

这里的.*?是非贪婪匹配,只会匹配到第一个符合条件的ID,不会跨抓取其他行的内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:21:53