Erstellen Sie ein Wörterbuch aus, und übergeben Sie es als eine Karte, um eine Java-Methode in Robot Framework

Muss ich weiterleiten java.util.Karte, um eine test-Methode
In der tsv-Datei, ich habe versucht, um ein Wörterbuch zu erstellen, wie diese:

${MYDICT} =  Create Dictionary  a  1  b  2

Aber ich habe den Fehler:

Einstellung der variable '${MYDICT} = Create Dictionary a 1 b 2' Fehler: Variable name '${MYDICT} = Create Dictionary a 1 b 2' ist ungültig.

Ich erkläre das Wörterbuch im Abschnitt "Variablen" wie diese:

    ${MYDICT}=  Create Dictionary   COUNTRY US  CURRENCY_CODE   USD

Testfall ist:

    testCase1 run the test using ${MYDICT}

und die test-Schlüsselwörter werden wie folgt definiert:

    run the test using ${MAP}
        call java method ${MAP}

und die Java-Methode ist:

    public void CallJavaMethod(Map<String, String> map)

Allerdings, wenn ich erkläre das Wörterbuch in der Test-keywords Abschnitt, alles funktioniert gut und die Java-Methode aufgerufen wird:

    run the test using
        ${MYDICT}=  Create Dictionary   COUNTRY US  CURRENCY_CODE   USD
        call java method ${MYDICT}

Verstehe ich nicht, warum ich erklären muß, das Wörterbuch an dem Punkt, wo ich es verwenden möchte. Was ist, wenn ich laufen will, dass der test-case mit unterschiedlichen Eingängen?

Fix ( verwendet was für @Uri und @Brian vorgeschlagen)
Ich versuche es mal mit der "Set Suite-Variablen" wie in diesem Beispiel:

*** Settings ***
Library Collections
Suite Setup Initialize dictionary

*** Keywords ***
Initialize dictionary
    ${dict}=    Create Dictionary   COUNTRY US
    Set Suite Variable  ${dict}

*** Test cases ***
testDict
    Dictionary should contain item  ${dict} COUNTRY US

Und den test erfolgreich passiert hat.

  • Es ist kein Wörterbuch in java. Verwenden Sie hash-map
  • Ja ich weiß das. Allerdings weiß ich nicht wie übergeben Sie eine Karte, um die java-test-Fall. Ich weiß nicht, wie man es in der tsv-Datei. JRobot ist in python und es hat Wörterbücher als Schlüssel-Wert-paar Container.
  • Ist Testfall eine Methode ?
  • Ja, es ist eine Methode, und es hat eine java.util.Karte argument
  • Ich aktualisiert meine Antwort. Das problem (oder ein problem) ist, dass Sie nicht nennen Schlüsselwörtern in der Variablen-Tabelle.
InformationsquelleAutor Alex | 2015-05-18
Schreibe einen Kommentar