2016-05-03 33 views
0

私の問題は構文上の性質のものかもしれませんが、多分そうではないかもしれませんが、私は次の進め方については漠然としています。私はRobot Frameworkにテストケースを書いています。私の最終目標は、複数のテストをループ内でバックツーバックで実行できることです。RobotFrameworkでは、For-Loopでテストケースを実行できますか?

この場合、コンソールへのログの呼び出しは正常に機能し、パラメータとして渡されたさまざまな値を出力します。次の呼び出し「クエリデータベースとデータの分析」も同様に機能します。

*** Test Cases *** 
| For-Loop-Elements 
| | @{Items} =     | Create List | ${120} | ${240} | ${240} 
| | :FOR       | ${ELEMENT} | IN | @{ITEMS} 
| | | Log To Console    | Running tests at Voltage: ${ELEMENT} 
| | | Query Database And Analyse Data 

しかし、私はドキュメントとタグを使用してテストケースを作る「クエリのデータベースとデータの分析」しようとすると、その後、私はエラーを取得:キーワード名を空にすることはできません、その時に考えるように私をリードしていますファイルが[ドキュメンテーションタグ]に到達すると、テストケースの一部であるとは認識されません。これは通常、テストケースを書く方法です。

インデントがループ今

*** Test Cases *** 
| For-Loop-Elements 
| | @{Items} =     | Create List | ${120} | ${240} | ${240} 
| | :FOR       | ${ELEMENT} | IN | @{ITEMS} 
| | | Log To Console    | Running tests at Voltage: ${ELEMENT} 

| | | Query Database And Analyse Data 
| | | | [Documentation]   | Query DB. 
| | | | [Tags]     | query | voltagevariation 

| | | Duplicates Test 
| | | | [Documentation]   | Packets should be unique. 
| | | | [Tags]     | packet_duplicates | system 
| | | | Duplicates 

| | | Chroma Output ON 
| | | | [Documentation]   | Setting output terminal status to ON 
| | | | [Tags]     | set_output_on | voltagevariation 
| | | | ${chroma-status} =  | Chroma Output On | ${HOST} | ${PORT} 

の内部を一致させようとします。この構文問題、インデントの問題であり、あるいは私がやろうとしている何をする単なる不可能であることをここで注意してください?同様のケースを書いているが、別の方法で書いている場合は、教えてください!

ご意見やご感想をお寄せください。

答えて

6

テストケースとしてキーワードを使用しようとしています。このアプローチは、Robot Frameworkではサポートされていません。あなたは何ができるか は、キーワードの多い方テストケースを作るです:

*** Test Cases *** 
| For-Loop-Elements 
| | @{Items} =     | Create List | ${120} | ${240} | ${240} 
| | :FOR       | ${ELEMENT} | IN | @{ITEMS} 
| | | Log To Console    | Running tests at Voltage: ${ELEMENT} 
| | | Query Database And Analyse Data 
| | | Duplicates 
| | | ${chroma-status} =  | Chroma Output On | ${HOST} | ${PORT} 

*** Keywords *** 
| Query Database And Analyse Data 
| | Do something 
| | Do something else 
... 

あなたは本当に[Tags]どこでも便利にフィットすることはできません。しかし、Run Keyword And Return Statusにキーワードを直接ラップするのではなく、意味のある失敗メッセージ([Documentation]の代わりに)を送信することができます。

さらに:FOR -loopを完全に取り除くには、data driven testsをご覧ください。

+0

ありがとうございました!多くの助けになります! – Castiel

関連する問題