2017-01-24 1 views
2

ich eine Robot Framework Halterung teilen, das mir einen Test gegen verschiedene Version unserer API ...Wie eine Datentabelle in Robot Framework

*** Settings *** 
Test Template  Can sell through API 

*** Test Cases ***  apiVersion 
Version 1    1.01 
Version 2    2.13 
Version 3    3.00 

*** Keywords *** 
Can sell through API 
    [Arguments] ${apiVersion} 
    Given I am using API version {apiVersion} 
    When I provide valid details 
    Then my sale is confirmed 

ich jetzt mehr Tests ausführen möchten kann mit der gleichen Liste schreiben der API-Version, aber ich möchte diese Liste nicht in jedem Testgerät duplizieren. Wie kann ich das erreichen?

Antwort

1

Was:

*** Variables *** 
@{api_versions} 1.01 2.13 3.00 

*** Test Cases *** 
First Test Case 
[Template] First Template 
    @{api_versions}[0] 
    @{api_versions}[1] 
    @{api_versions}[2] 

Second Test Case 
[Template] Second Template 
    @{api_versions}[0] 
    @{api_versions}[1] 
    @{api_versions}[2] 

*** Keywords *** 
First Template 
    [Arguments] ${api_version} 
    Do Something ${api_version} 

Second Template 
    [Arguments] ${api_version} 
    Do Something Different ${api_version} 

Oder:

*** Settings *** 
Test Template Can Sell Through API 
Suite Setup Set API Versions 

*** Test Cases *** 
Test 1 @{api_versions} 
... 

*** Keywords *** 
Set API Versions 
    ${api_versions} Create List 1.01 2.13 3.00 
    Set Suite Variable @{api_versions} 

Can Sell Through API 
    [Arguments] @{api_version} 
    Do Your Stuff Here With @{api_versions} 
+0

Vielen Dank für Ihre Eingabe, aber das funktioniert nicht wirklich, wie erwartet. Das Problem ist, dass es für jeden Testfall nur einen Test gibt, der die Ausgabe für alle API-Versionen kombiniert. Ich möchte einen Test pro API-Version für jeden Testfall, so dass ich bei einem Fehler sofort wissen möchte, welche API-Version fehlgeschlagen ist. –

+0

OK. Wie wäre es dann, ein Schlüsselwort mit 'Set Suite Variable @ {api_versions}' zu erstellen, Set Setup mit diesem Schlüsselwort zu definieren, 'Test Template' auf Suite-Ebene zu definieren und dann Testfälle wie' Test Case 1 @ {api_versions} 'zu setzen. .. –

+0

Nicht sicher, was ich 'Test Template' einstellen sollte? –

Verwandte Themen