ValueError: Invalid time string

robotframework
本ページはプロモーションが含まれています

はじめに

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での日付のフォーマットの変換エラーについてでした。
日付の表示はよく利用すると思います。
またデフォルトの日付表示が使いたいフォーマットでないことが多く、フォーマット変換の必要性もあるんじゃないでしょうか。

今回の記事がお役に立ったのならば嬉しいです。
最後までお読みいただきありがとうございました。

タイトルとURLをコピーしました