2016-05-03 7 views
0

Also meine Probleme könnten syntaktischer Natur sein, vielleicht nicht, aber ich habe keine Ahnung, wie es weiter geht. Ich schreibe einen Testfall für das Robot Framework und mein Endziel ist es, mehrere Tests hintereinander in einem Loop ausführen zu können.In RobotFramework ist es möglich, Testfälle in For-Loop auszuführen?

In diesen Fällen funktioniert der Aufruf von Log to Console problemlos und gibt die verschiedenen als Parameter übergebenen Werte aus. Der nächste Aufruf "Datenbank abfragen und Daten analysieren" funktioniert ebenfalls.

*** 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 

Aber dann, wenn ich versuche, einen Testfall mit Dokumentation und Tags mit „Query-Datenbank und Analyse von Daten“ zu machen, habe ich den Fehler: Stichwort Name darf nicht leer sein, die mich, dass, wenn zu denken, führt die Datei bekommt [Dokumentations-Tag], es versteht nicht, dass es Teil eines Testfalls ist. So schreibe ich normalerweise Testfälle.

Bitte beachten Sie hier, dass die Vertiefung versucht, die Innenseite der Schleife

*** 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} 

Nun ist dies eine Syntax Problem, Einzug Ausgabe anzupassen, oder ist es einfach nur unmöglich zu tun, was ich versuche zu tun ? Wenn Sie ähnliche Fälle auf eine andere Art geschrieben haben, lassen Sie es mich wissen!

Jede Hilfe oder Eingabe wäre sehr willkommen!

Antwort

6

Sie versuchen, Schlüsselwörter als Testfälle zu verwenden. Dieser Ansatz wird von Robot Framework nicht unterstützt. Was Sie tun konnten, ist einen Testfall mit vielen Keywords machen:

*** 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 
... 

Sie nicht wirklich [Tags] überall nützlich passen. Sie können jedoch aussagekräftige Fehlernachrichten auslösen (ersetzen Sie die [Documentation]), wenn Sie anstelle eines Schlüsselworts direkt in Run Keyword And Return Status eingewickelt.

Außerdem, bitte sehen Sie sich data driven tests an, um den :FOR -loop vollständig loszuwerden.

+0

Vielen Dank! Hilft viel! – Castiel