RobotFramework - получить текущую дату - PullRequest
0 голосов
/ 10 сентября 2018

Мне нужно проверить, отображается ли текущая дата на моем устройстве. Дата на устройстве имеет формат 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 голосов
/ 12 сентября 2018

В Robot Framework встроена обширная библиотека DateTime (начиная с версии 2.8.5).

Если вы можете импортировать эту библиотеку, документировано здесь (http://robotframework.org/robotframework/latest/libraries/DateTime.html). Вы должны быть в состоянии использовать ключевое слово Get Current Date.

У этого ключевого слова есть параметр, который позволяет вам использовать формат формирования даты Python, чтобы получить необходимый вам формат даты / времени.

0 голосов
/ 10 мая 2019

Это можно сделать гораздо проще

$ {date} = Получить текущую дату UTC exclude_millis = yes
$ {convert} = Дата конвертации $ {date} result_format =% a% B% d% H:% M:% S UTC% Y
Журнал $ {convert} console = yes

(% a = например, понедельник
% A = е.е. Понедельник
% B = е.е. Май
% H:% M:% S - т.е. 13: 04: 09
UTC = ф. необходимая часть строки
% Y = 2019)

Вывод на консоли приведенной выше строки даст:

Пт 10 мая 10:12:31 UTC 2019

Если вы хотите добавить определенное количество дней, используйте:

$ {date} = Получить текущую дату UTC exclude_millis = yes
$ {plus14} = Добавить время к дате $ {date} 14 дней
$ {future} Дата конвертации $ {plus14} result_format =% a% B% d% H:% M:% S UTC% Y
Журнал $ {future} console = да

Вывод будет:

Пт 24 мая 10:12:31 UTC 2019

0 голосов
/ 10 сентября 2018

Что-то подобное должно работать:

${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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...