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.
Schreibe einen Kommentar