Robot Frameworkでは、 sleep 1 seconds のように、数値 + 単位で時間を表現できます。
ただ、サイトによって seconds やsが使われるなど、単位のフォーマットが異なっていました。
そこで今回、どういうフォーマットが使えるのか調べてみました。
環境
調査結果
公式サイトに記載がありました。
・days, day, d
・hours, hour, h
・minutes, minute, mins, min, m
・seconds, second, secs, sec, s
・milliseconds, millisecond, millis, ms
また、 4 s や 4s のように、数字と単位は、離す・くっつけるのどちらでも良いようです。
試してみます。
なお、
- 現在時刻を取得するDateTimeライブラリはBuiltinには存在しないので、Libraryとして指定する
- キーワードの引数のデフォルト引数を使う
とします。
*** Settings ***
Library DateTime
*** Keywords ***
現在時刻を出力する
[Arguments] ${label}=start
${now} = get current date
log to console ${now}${SPACE * 3}[${label}]
*** TestCases ***
引数の秒数のフォーマットを確認する
log to console ${SPACE}
現在時刻を出力する
sleep 1 seconds
現在時刻を出力する label=seconds
sleep 1 second
現在時刻を出力する label=second
sleep 1 secs
現在時刻を出力する label=secs
sleep 1 sec
現在時刻を出力する label=sec
sleep 1 s
現在時刻を出力する label=s
sleep 1sec
現在時刻を出力する label=sec_without_space
sleep 1s
現在時刻を出力する label=s_without_space
sleep 1.5s
現在時刻を出力する label=s_with_dot
結果です。いずれのフォーマットでも正しく動作しているようです。
$ robot datetime_library_sample/time_format_test.robot ... ============================================================================== Time Format Test ============================================================================== 引数の秒数のフォーマットを確認する .2017-08-11 07:38:36.420 [start] ..2017-08-11 07:38:37.424 [seconds] ..2017-08-11 07:38:38.427 [second] ..2017-08-11 07:38:39.431 [secs] 引数の秒数のフォーマットを確認する .2017-08-11 07:38:40.435 [sec] ..2017-08-11 07:38:41.438 [s] ..2017-08-11 07:38:42.441 [sec_without_space] ..2017-08-11 07:38:43.444 [s_without_space] 引数の秒数のフォーマットを確認する .2017-08-11 07:38:44.947 [s_with_dot] 引数の秒数のフォーマットを確認する | PASS | ...
ソースコード
GitHubに上げました。datetime_library_sampleの中にあるtime_format_test.robotファイルが今回のテストファイルです。
thinkAmi-sandbox/RobotFramework-sample