机器人框架:使用“获取当前日期”获取特定格式的运行时日期

4
我正在使用获取当前日期这个关键词以按年月日格式返回日期。我使用这个特定信息来确保在自动化测试中帐户的创建时间戳是正确的。
问题在于这个关键词无法被识别,而我的代码应该是正确的(它应该能够工作并以我希望的格式生成日期)。
*** Keywords ***

Initialize Test Data
    ${DATE}=    Get Current Date    result_format=timestamp
    ${MYNUM}=    faker.Random Int

    Set Suite Variable  ${MYNUM}
    Set Suite Variable  ${DATE}

我为什么会收到“未找到名称为'获取当前日期'的关键字”错误信息?
提前感谢。
3个回答

8

标准RF库中是否存在关键字获取当前日期?相反,有一个名为获取时间的内置关键字。文档说明了如何格式化输出。要使用获取当前日期,您需要先导入DateTime库。

更新: 我这里有一个RF脚本示例可以正常工作:

*** Settings ***
Library           DateTime

*** Test Cases ***
datatimetest
   ${d}=    get time
   log    {d}
   ${d}=    Get Current Date    result_format=%Y-%m-%d
   log    {d}
   ${d} =    Add Time To Date    2014-05-28 12:05:03.111    7 days
   log    {d}

请记住DateTime是一个新的库,所以如果你使用的是旧版本的Robot Framework,你需要安装这个库或者升级RF。


如果您查看“获取当前日期”的链接,它是否存在?我正在使用RF的特定版本。尽管如此,如果我想使用“获取时间”,我该如何截断输出,以便我拥有日期-月份-日的格式? - LeonH
1
是的,我在回答后意识到了这一点。但它不是内置关键字。你需要导入DateTime库。我已经更新了我的答案。 - Marcin Kowalczyk
根据文档,${DATE}= DateTime.Get Current Date result_format=timestamp 的输出应该是(至少对于今天)_2014-07-23_,对吗? - LeonH
我认为你不需要在关键字前加上“DateTime.”。我会在我的答案中添加RF脚本示例。 - Marcin Kowalczyk
谢谢。我在使用名为“DateTime”的库进行文档/学习目的时,将其作为前缀,以便我的同事查看。 - LeonH
显示剩余4条评论

1

我正在使用Python的RF,我的IDE默认检测到Python DateTime库。 尝试使用完整路径:

Library           robot.libraries.DateTime

robot.libraries.DateTime

(Note: The translated text is in Simplified Chinese characters)

0

您还可以按照自己的喜好格式化时间。请参见此答案,它提供了格式建议。您可以使用Python DateTime函数,例如:

   ${now}    Evaluate    '{dt.day}/{dt.month}/{dt.year}'.format(dt=datetime.datetime.now())    modules=datetime
   Log   ${now}
   Log to Console   now time 1: ${now}
   ${now}    Evaluate  '{dt:%A}, {dt:%B} {dt.day}, {dt.year}'.format(dt=datetime.datetime.now())    modules=datetime
   Log   ${now}
   Log to Console   now time 2: ${now}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接