robotframeworkを使っていて”Keyword name cannot be empty.”とメッセージが表示されました。
robotframeworkを使いはじめの頃はこのメッセージをよく目にするのではないかと思います。
特にPythonの文法に慣れているとこのメッセージを見ることになると思います。
エラーメッセージ
僕が実際ソースコードを書いている時に”Keyword name cannot be empty.”のエラーメッセージが表示された原因ですが、変数に値を代入する際にキーワードが抜けている事が原因でした。
Pythonのような代入の方法を使うとこのエラーメッセージが表示されます。
エラーが出るソースの例
ソースコードの例でみます。
ファイル名は『keyword_empty.robot』としています。
# keyword_empty.robot
*** Variables ***
${output_1}= 1
*** Keywords ***
エラーが出るケース
${output_2}= ${output_1}
Log to Console ${output_2}
エラーが出ないケース
${output_2}= Set Variable ${output_1}
Log to Console ${output_2}
*** Test Cases ***
エラーメッセージの確認
エラーが出るケース
正常な場合の確認
エラーが出ないケース
これを実行すると
==============================================================================
Keyword Empty
==============================================================================
エラーメッセージの確認. | FAIL |
Keyword name cannot be empty.
------------------------------------------------------------------------------
正常な場合の確認 1
正常な場合の確認 | PASS |
------------------------------------------------------------------------------
Keyword Empty | FAIL |
2 tests, 1 passed, 1 failed
==============================================================================
Output: /Users/shugokaibuchi/Desktop/desktop/programing/robotrfamework/Keywordが
と表示されます。
二つのテストケースの違いは
${output_2}= ${output_1}
${output_2}= Set Variable ${output_1}
と『Set Variable』を指定しているかどうかです。
変数に代入する時はこのキーワードを入れるようにしましょう。
これはRobotframeworkのルールなのでこうするしかありません。
(VBAとか別のプログラムをやっているような感覚になりますね)
まとめ
ということで、“Keyword name cannot be empty.”が表示された時は、変数の設定が失敗していないか確認してみてください。
変数に代入する時には『Set Variable』を使う。
ということでした。
お役に立ったなら嬉しいです。