You need to enable JavaScript to run this app. Robot Framework 获取from date日期加19天填入to date的实现方法咨询
优惠活动
大模型
产品
解决方案
定价
更多

Robot Framework 获取from date日期加19天填入to date的实现方法咨询

问题解决说明

一、你的Python代码不生效的原因

你写的代码存在拼写错误:timedelta 是完整的单个类名,你错误添加了空格拆分为time delta,同时原代码只设置了加1天,你需要调整为加19天,修正后的代码如下:

from datetime import datetime, timedelta

x = '2017-05-15'
# 将days参数调整为19实现递增19天的需求
res = (datetime.strptime(x, '%Y-%m-%d') + timedelta(days=19)).strftime('%Y-%m-%d')
print(res)
# 输出结果:2017-06-03

二、Robot Framework 场景下的两种实现方式

方式1:使用内置DateTime库实现(无需额外写Python代码)

RF官方自带的DateTime库已经封装了日期计算能力,直接调用即可,示例代码:

*** Settings ***
Library    DateTime

*** Test Cases ***
日期递增19天填充测试
    # 第一步:提取from date字段的日期值,此处用Get Text为例,可根据实际元素定位调整
    ${from_date}=    Get Text    //input[@name="from date"]
    # 第二步:日期加19天,指定输出格式和你的字段格式匹配
    ${to_date}=    Add Time To Date    ${from_date}    19 days    result_format=%Y-%m-%d
    # 第三步:将计算结果填入to date字段
    Input Text    //input[@name="to date"]    ${to_date}

方式2:封装Python自定义关键字实现

如果需要更灵活的日期处理逻辑,可以把Python逻辑封装为自定义关键字调用:

  1. 新建date_utils.py文件,写入以下内容:
from datetime import datetime, timedelta

def add_specified_days(date_str, add_days, input_format="%Y-%m-%d", output_format="%Y-%m-%d"):
    date_obj = datetime.strptime(date_str, input_format)
    new_date = date_obj + timedelta(days=int(add_days))
    return new_date.strftime(output_format)
  1. 在RF用例中导入并使用:
*** Settings ***
Library    date_utils.py

*** Test Cases ***
自定义关键字实现日期递增
    ${from_date}=    Get Text    //input[@name="from date"]
    ${to_date}=    Add Specified Days    ${from_date}    19
    Input Text    //input[@name="to date"]    ${to_date}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 08:54:03