RobotFramework-获取当前日期

时间:2018-09-10 09:23:10

标签: date format robotframework

我需要测试设备上显示的当前日期,设备上的日期格式为Monday, September 9, 2018,但是当我尝试对其进行测试时,我只能使用Monday, 09, 2018格式测试失败,因为月份日期中没有0。

    page should contain element  ${DATE}
    ${DATE_MESSAGE}  get current date  result_format=%A, %d, %Y
    element should contain text  ${DATE}  ${DATE_MESSAGE}

如何更改机械手框架中的格式以验证其格式为Monday, September 9, 2018.

错误 should have contained text 'Monday, 09, 2018' but its text was 'Monday, September 9, 2018'.

3 个答案:

答案 0 :(得分:0)

类似的方法应该起作用:

${now}    Evaluate    '{dt.day}/{dt.month}/{dt.year}'.format(dt=datetime.datetime.now())    modules=datetime

更新后:

${now}    Evaluate  '{dt:%A}, {dt:%B} {dt.day}, {dt.year}'.format(dt=datetime.datetime.now())    modules=datetime

答案 1 :(得分:0)

机器人框架具有广泛的内置DateTime库(自版本2.8.5起)。

如果您能够导入该库,请在此处(http://robotframework.org/robotframework/latest/libraries/DateTime.html)中进行记录。您应该能够使用Get Current Date关键字。

此关键字的参数允许您使用Python的日期格式来获取所需的日期/时间格式。

答案 2 :(得分:0)

这可以轻松得多

$ {date} =获得当前日期UTC exclude_millis =是
$ {convert} =转换日期$ {date} _result_format =%a%B%d%H:%M:%S UTC%Y
记录$ {convert}控制台=是

(%a = f.e.Mon
 %A = f.e.星期一
 %B = f.e.五月
 %H:%M:%S-f.e. 13:04:09
 UTC = f.e.所需的一部分字符串
 %Y = 2019)

控制台在上面字符串的输出将给出:

2019年5月10日星期五10:12:31 UTC

如果您要增加一定的天数,请使用:

$ {date} =获得当前日期UTC exclude_millis =是
$ {plus14} =``添加时间到日期$ {date}''14天
$ {future}转换日期$ {plus14} result_format =%a%B%d%H:%M:%S UTC%Y
记录$ {future}控制台=是

输出将是:

2019年5月24日星期五10:12:31 UTC