‘Return’ is a reserved keyword.

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

はじめに

robotrfameworkでkeywordsの結果を戻り値として受け取り別のテストケースに引数とした渡そうとしました。
そのためkeywordsの結果を返す時にreturnを使ったんですが、エラーメッセージが表示されました。

エラーメッセージは、

'Return' is a reserved keyword.

というものです。

エラーの原因

エラーメッセージは、『’Return’ is a reserved keyword.』とあり、「Returnは予約後だよ」と言っています。
発生した原因は戻り値の書き方が誤っていた(文法ミス)からでした。
Returnだけを指定していたので、上のような「robotframeworkで前もって使われている予約語を使わないでね」というメッセージが出たわけです。

言葉だけだと分かりにくいのでサンプルのソースコードを

エラーが出るサンプルコード

そのままエラーが出た時のソースコードを使うのは分かりづらいので、エラーのシンプルな例を。

ファイル名は「return_error.robot」です。
シンプルなソースですが、引数をreturnで返そうとしています。

# return_error.robot

*** Keywords ***
test_error_case
		# 変数に文字列を代入
		${text} =		Set variable "test"
		Return			${text}

*** Test Cases ***
リターンがエラーになるケース
		${return_text} =		test_error_case
		Log to Console		  ${text}

これを実行すると

==============================================================================
Return Error                                                                  
==============================================================================
リターンがエラーになるケース                                             | FAIL |
'Return' is a reserved keyword.
------------------------------------------------------------------------------
Return Error                                                          | FAIL |
1 test, 0 passed, 1 failed
==============================================================================

とエラーメッセージが表示されます。
次に、どうやってReturnを返すかの方法です。

正しいReturnを返すサンプルコード

正しくReturnを返すサンプルコードです。
ファイル名は「return_arg_correctly.robot」です

# return_arg_correctly.robot

*** Keywords ***
test_error_case
		# 変数に文字列を代入
		${text} =			Set variable "test"
		Return From Keyword		${\n}${text}

*** Test Cases ***
リターンがエラーにならないケース
		${return_text}=			test_error_case
		Log to Console			${return_text}

「Return」ではなく「Return From Keyword」を使う必要があります。
実行すると、

==============================================================================
Return Arg Correctly
==============================================================================
リターンがエラーにならないケース                                             .
"test"
リターンがエラーにならないケース                                           | PASS |
------------------------------------------------------------------------------
Return Arg Correctly                                                  | PASS |
1 test, 1 passed, 0 failed
==============================================================================

と${return_text}で正しく戻り値として受け取った値がログに表示されています。
どうしてもPythonや他のプログラムに慣れているとそのままReturnを使いたくなりますが、robotframeworkでは使えませんので注意ですね。

さいごに

とうことで今回は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をコピーしました