はじめに
robotframeworkで日付のフォーマットを変更して表示を行おうとした時にエラーメッセージが表示されました。
日付はログを残す時などに使うので使用頻度は高いので、フォーマットの方法についてのメモです。
エラーメッセージ
エラーが発生したソースコードです。
*** Test Cases ***
現在時刻の取得(フォーマットの変更)
${date}= Get Current Date
${conv_date}= Convert Time ${date} date_format=%Y-%m-%d %H:%M:%S.%f
Log to Console ${\n}${conv_date}
表示されたメッセージは
ValueError: Invalid time string '2023-02-14 15:45:31.514'.
日付はエラーが発生した時間ですので、その時によって異なります。
エラーの内容は
値のエラー:無効な時間の文字列(フォーマット)
と言っています。
つまり、日付のフォーマットの指定方法が誤っています。
日付のフォーマット
日付のフォーマットの指定方法は決まっているようです。
次のように書くと、日付のデフォルトの表示から変更することが出来ます。
*** Test Cases ***
現在時刻の取得(フォーマットの変更)
${date}= Get Current Date
${conv_date}= Convert Date ${date} result_format=%Y/%m/%d %H:%M date_format=%Y-%m-%d %H:%M:%S.%f
Log to Console ${\n}${conv_date}
現在の日付のフォーマットとしてdate_formatを指定するとの、result_formatで変更後のフォーマットの指定をする必要があります。
これを実行すると日付のフォーマット変更が出来ます。
==============================================================================
Get Currente Date
==============================================================================
------------------------------------------------------------------------------
現在時刻の取得(フォーマットの変更) ..
2023/02/14 16:03
現在時刻の取得(フォーマットの変更) | PASS |
------------------------------------------------------------------------------
Get Currente Date | PASS |
1 tests, 1 passed, 0 failed
==============================================================================
おわりに
今回はrobotframeworkでの日付のフォーマットの変換エラーについてでした。
日付の表示はよく利用すると思います。
またデフォルトの日付表示が使いたいフォーマットでないことが多く、フォーマット変換の必要性もあるんじゃないでしょうか。
今回の記事がお役に立ったのならば嬉しいです。
最後までお読みいただきありがとうございました。