For-Schleife gibt alle in der Liste anstelle von einem Element in robot framework
Habe ich diesen code:
Test Check For Loop
@{ret_val} = Read Data From Excel ${filename} ${sheetname}
log to console ${ret_val}
:FOR ${item} IN ${ret_val}
\ log to console ${item}
Read Data From Excel
ist eine der anderen keywords, die ich entwickelt habe und es funktioniert Prima, aber ich habe diese Ausgabe:
Test Check For Loop [{'key1': 'val1', 'key2': 'val2'}]
[{'key1': 'val1', 'key2': 'val2'}]
| PASS |
------------------------------------------------------------------------------
Scenario.scenario | PASS |
0 critical tests, 0 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================
Scenario | PASS |
0 critical tests, 0 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================
Wie Sie sehen, ${item}
ist genau das gleiche wie ${ret_val}
. Ich bin der Iteration über die Liste und ${item}
sollte man die vorhandenen Elemente in der Liste, die bedeutet, dass es ein Wörterbuch. So der zweite Druck sein soll:
{'key1': 'val1', 'key2': 'val2'}
Jede Idee, warum der Rahmen nicht Durchlaufen und gibt die ganze Liste anstelle der Sache?
EDIT 1:
Ich habe das Problem gelöst, laut @Laurent Bristiel Antwort. Ich sollte schreiben, die list-variable wie folgt:
:FOR ${item} IN @{ret_val}
- Warum ist Ihre Frage mit "Python"? Ich sehe nicht, wie es sich...
- Vielen Dank für Ihren Vorschlag @martineau. Normalerweise arbeite ich mit python und es war ein Fehler.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es ein paar Probleme mit dem code
1) wenn man etwas über eine variable mit @{variable} anstelle von $(variable)
Sehen doc über loop-in-Roboter Benutzerhandbuch.
2) die arrary Sie sind Schleife über ein array mit einem einzigen element (ein dict) so erhalten Sie nur ein element (die dict -)
Vielleicht möchten Sie, um eine Schleife über die Elemente, Werte oder Schlüssel, die von Ihrem index.
Sehen Sammlungen, Dokumentation für, die.
Hier ist ein Beispiel, wo ich die Schleife über alle Elemente des dict.
Hier ist die Ausgabe:
@{ret_val}
.