2017-08-04 4 views
0

Ich versuche, zwei identische Listen in Robot Framework zu vergleichen. Der Code Ich verwende ist:Robot FrameWork-Sammlungen - Listenvergleich Problem

List Test 
    Lists Should Be Equal @{List_Of_States_USA} @{List_Of_States_USA-Temp} 

und die Listen sind identisch mit den folgenden Werten:

@{List_Of_States_USA} Alabama Alaska American Samoa Arizona Arkansas California Colorado 
...    Connecticut Delaware District of Columbia Florida Georgia Guam Hawaii 
...    Idaho Illinois Indiana Iowa Kansas Kentucky Louisiana 
...    Maine Maryland Massachusetts Michigan Minnesota Mississippi Missouri 
...    Montana National Nebraska Nevada New Hampshire New Jersey New Mexico 
...    New York North Carolina North Dakota Northern Mariana Islands Ohio Oklahoma Oregon 
...    Pennsylvania Puerto Rico Rhode Island South Carolina South Dakota Tennessee Texas 
...    Utah Vermont Virgin Islands Virginia Washington West Virginia Wisconsin 
...    Wyoming 

Dieser Test wurde mit folgendem Fehler fehl:

FAIL Keyword 'Collections.Lists Should Be Equal' expected 2 to 5 arguments, got 114. 

I SO gesucht und andere Websites für eine Lösung, aber konnte nicht herausfinden, warum das passiert ist. Vielen Dank im Voraus für die Unterstützung

Antwort

3

Sie müssen eine $ nicht @ verwenden. Wenn Sie @ verwenden, erweitert der Roboter die Listen in mehrere Argumente.

Vom robot framework user's guide:

When a variable is used as a scalar like ${EXAMPLE}, its value will be used as-is. If a variable value is a list or list-like, it is also possible to use as a list variable like @{EXAMPLE}. In this case individual list items are passed in as arguments separately.

Betrachten wir den Fall @{foo} eine Liste mit den Werten „eins“ zu sein, „zwei“ und „drei“. In einem solchen Fall sind die folgenden zwei identisch:

some keyword @{foo} 
some keyword one two three 

Sie benötigen eine Anweisung, dies zu ändern:

Lists Should Be Equal ${List_Of_States_USA} ${List_Of_States_USA-Temp} 
+0

Vielen Dank. Es funktionierte – nhrcpt

+0

Hallo Bryan, bitte überprüfen Sie dieses Problem und unterstützen Sie mich, wenn Sie können. https://stackoverflow.com/questions/45602428/removing-trailing-comma-from-query-result-in-robot-framework. Ich werde diesen Kommentar in Kürze entfernen – nhrcpt

0

Also schlug Wie durch Bryan-Oakley oben, modifizierte ich den Test wie folgt:

${L1} Create List @{List_Of_States_USA} 
${L2} Create List @{List_Of_States_USA-Temp} 
Lists Should Be Equal ${L1} ${L2} 

Jetzt ist der Test bestanden. Danke wieder @ Brian