2016-11-23 10 views
2

RobotFrameworkとRobotRequestsLibraryを使用して、一連のAPIのスモークテストスイートを作成しています。 RobotFrameworkを初めて使用しました。コードを整理して保守性を高めるため、キーワードを使用してすべての付随的な詳細を削除することにしました。私は私が得るキーワードでテストケースを実行するとRobotFrameworkキーワード変数が設定されていない

*** Variables *** 
${sint} http://int.somecoolwebsite.com 

*** Keywords *** 
Make ${call} Call To ${end_point} 
    Create Session ${sint} ${sint} 
    ${resp} = Get Request ${sint} ${end_point} 
    ${status} = ${resp.status_code} 
    Set Test Variable ${status} 

Status Should Be ${required_status} 
    Should Be Equal ${status} ${required_status} 

*** Test Cases *** 
Retrieve Store Info By Code Should Return Successful 
    [Tags] get 
    Make Get Call To /store/1234 
    Status Should Be 200 

Retrieve All Store Info Should Return Successful 
    [Tags] get 
    Make Get Call To /stores 
    Status Should Be 200 

*** Variables *** 
${sint} http://int.somecoolwebsite.com 

*** Test Cases *** 
Retrieve Store Info By Code Should Return Successful 
    [Tags] get 
    Create Session data-int ${sint} 
    ${resp}=  Get Request int /store/1234 
    Should Be Equal As Strings ${resp.status_code} 200 

Retrieve All Store Info Should Return Successful 
    [Tags] get 
    Create Session data-int ${sint} 
    ${resp}=  Get Request int /stores 
    Should Be Equal As Strings ${resp.status_code} 200 

とキーワードを使用しての私の試み:たとえば、ここで私がクリーンアップする二つの試験

をしています次のエラーが:

Keyword name cannot be empty.

は私がデバッグしてみましたキーワード割り当てにブレークポイントを設定し、${resp}が割り当てられ、${resp.status_code}も動作することがわかりました。しかし、{$status}= ${resp.status_code}を割り当てようとすると、エラーがスローされます。

組み込みの変数を使用して変数を再割り当てする方法は異なりますが、運がないわけではありません。キーワードでこのように変数を割り当てることはできませんか?どんな洞察も役に立ちます。ありがとう!!

${status} = ${resp.status_code} 

です:

+0

残念ながら私はこれを掘り下げる時間がありませんが、簡単な読み込みでは、データ駆動型の方が良いことがあるかもしれませんdo - http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#data-driven-style – shicky

+0

あなたの質問にあるコードは、あなたが言っているエラーを与えません。そのコードは私のためにうまく動作します。 –

+0

@BryanOakleyあなたは正しいです。ここにコードを書くときに、 'Set Variable'宣言を追加しました。それがなければ、エラーになります。しかし、テストケースでは、私はその宣言を使う必要はありません。 – Ptrkcon

答えて

1

は、問題のコードはまだあなたがすべてで実行しているから、それを防ぐため、他のエラーがあるので、それがないと言うエラーを与えるものではありませんが、問題は、このラインであります変数を割り当てる適切な方法ではありません。あなたはそうのように、Set Variableキーワード(または他の「セット」キーワードの一部)を使用する必要があります。

${status}= Set Variable ${resp.status_code} 

あなたはあなたがエラーを取得する理由は、すべてのテストやキーワードのステップは、キーワードを持たなければならないということです。変数名とキーワードのみがあるので、エラーが発生するKeyword name cannot be empty.

関連する問題