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

如何在Robot Framework中从含文本和数字的字符串变量中提取整数

Robot Framework提取wmic输出内存数值的实现方法

有两种常用的稳定实现方案:

方案1:按行拆分提取(逻辑直观,适合输出格式稳定的场景)

你可以直接用Robot Framework内置String库的行拆分关键字处理输出:

  • 第一步:调用你自定义的命令执行关键字,将wmic指令返回结果存入变量${cmd_output}
  • 第二步:用Split To Lines关键字将输出按换行符拆分为列表,表头WorkingSetSize为列表第0项,数值为第1项
  • 第三步:用Strip String清理数值行的多余空白、换行符,可按需转换为整数类型
    示例代码:
*** Settings ***
Library    String

*** Test Cases ***
获取应用内存占用
    # 替换为你自己的命令执行关键字,拿到wmic输出
    ${cmd_output}    你的命令执行关键字    wmic process where name="${executableName}" get WorkingSetSize
    # 按行拆分输出
    ${output_lines}    Split To Lines    ${cmd_output}
    # 取第二行数值,清理首尾空白
    ${mem_value_raw}    Strip String    ${output_lines}[1]
    # 转换为整数方便后续对比计算
    ${mem_value}    Convert To Integer    ${mem_value_raw}
    Log    提取到的内存大小为 ${mem_value} 字节

方案2:正则匹配提取(容错性高,适合输出格式可能有波动的场景)

如果存在同名称多进程、输出带多余空行的情况,直接用正则匹配数字更稳妥:

*** Settings ***
Library    String

*** Test Cases ***
正则提取内存数值
    ${cmd_output}    你的命令执行关键字    wmic process where name="${executableName}" get WorkingSetSize
    # 匹配输出中所有连续数字序列,取第一个匹配结果即为内存数值
    ${match_result}    Get Regexp Matches    ${cmd_output}    \\d+
    ${mem_value}    Convert To Integer    ${match_result}[0]
    Log    提取到的内存大小为 ${mem_value} 字节

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 11:15:04