2017-06-27 5 views
2

Ich möchte Wert von Element erhalten a Die Struktur ist wieNicht in der Lage Wörterbuch innerhalb Liste zuzugreifen, die innerhalb Wörterbuch im Roboter Rahmen wieder

${dict1} Create Dictionary a=1 b=2 
${dict2} Create Dictionary x=1 y=2 
${list1} Create List ${dict1} ${dict2} 
${master_dict} Create Dictionary payload=${list1} 

Jetzt weiß ich, ich unten Logik verwenden können Elemente zuzugreifen indirekt

${dict} Get From List &{master_dict}[payload] 0 
${item} Set Variable &{dict}[a] 

Aber ich möchte wissen, gibt es einen direkten Weg, um darauf zuzugreifen. Ich habe bereits versucht,

${item} Set Variable &{master_dict.payload[0]}[a] 

und

${item} Set Variable @{master_dict.payload[0]}[a] 

Antwort

2

Wenn der mit Roboter extended variable syntax Sie erinnern, dass, was Ihnen gültige Python sein muss. In Ihrem Fall bedeutet das, dass payload"payload" sein muss und a"a" (oder das einfache Zitat) sein muss.

Wenn Sie dies in Python-Code zu tun, würde es so aussehen:

item = master_dict['payload'][0]['a'] 

muss daher aus Roboter, alles innerhalb der geschweiften Klammern die gleich aussehen. Zum Beispiel:

${item}= set variable ${master_dict['payload'][0]['a']} 

Sie auch den Wert als ein Wörterbuch behandeln und den letzten Teil außerhalb der geschweiften Klammern bewegen, in dem Fall, dass Sie nur Anführungszeichen innerhalb der geschweiften Klammer benötigen.

${item}= set variable &{master_dict['payload'][0]}[a] 
+0

Danke Bryan. Ändern Sie es wie Sie sagten; '& {order_details ['payload'] ['suborders'] [0]} [productSubTransactionId]' löste das Problem. – Gahlawat

Verwandte Themen