robotframework Keyword name cannot be empty.

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

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』を使う。

ということでした。

お役に立ったなら嬉しいです。

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をコピーしました