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

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

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

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