如何用Robot Framework根据当前日期从文件中提取对应数字
用Robot Framework提取当前日期对应的数字
以下是针对需求的实现方案,完全基于Robot Framework关键字完成:
完整测试用例代码
*** Settings *** Library String Library OperatingSystem *** Test Cases *** Extract Current Date's Corresponding Number # 获取格式为dd.mm.yyyy的当前日期 ${current_date}= Get Current Date format=%d.%m.%Y # 读取dates.txt文件全部内容 ${file_content}= Get File dates.txt # 将内容按行拆分为列表 ${lines}= Split String ${file_content} separator=\n # 初始化变量存储结果 ${target_number}= Set Variable ${EMPTY} # 遍历每行数据查找匹配项 :FOR ${line} IN @{lines} \ # 跳过空行避免报错 \ Continue For Loop If ${line} == '' \ # 按多个空格拆分日期与数字(支持任意数量空格) \ ${data_pair}= Split String ${line} split=\s+ \ # 匹配当前日期时记录对应数字并终止循环 \ IF ${data_pair[0]} == ${current_date} \ ${target_number}= Set Variable ${data_pair[1]} \ Exit For Loop \ END # 验证结果并输出 Run Keyword Unless ${target_number} != ${EMPTY} Fail 未在dates.txt中找到当前日期${current_date}对应的数字 Log 当前日期${current_date}对应的数字是: ${target_number}
关键细节说明
- 日期格式对齐:通过
Get Current Date的format=%d.%m.%Y参数,生成和文件中完全一致的日期格式,确保匹配准确性。 - 多空格适配:使用
Split String的split=\s+参数(正则匹配任意数量空白字符),完美处理日期与数字间的多个空格分隔场景。 - 高效查找逻辑:匹配到目标日期后立即终止循环,避免不必要的遍历操作。
- 异常校验:最后添加结果校验,若未找到对应数字则抛出明确错误,便于问题排查。
内容的提问来源于stack exchange,提问作者Baldie
相关产品推荐
相关产品推荐

