Ich schreibe einen Test mit dem Roboter-Framework. Ich versuche, Werte in einem JSON-Feld zu aktualisieren, aber ich sehe ein seltsames Verhalten.Robotframe: Wie aktualisiere ich JSON-Feld Wert
Ich mache ein HTTP-GET und erhalten ein JSON. Ich überprüfen, was der Wert ursprünglich ist,
Log To Console | ${JSON["Components"]["SubComponents"]}
die zurück
valueA
Dann versuche ich, wie unten die Werte zu aktualisieren.
${JSON["Components"]["SubComponents"]}= | Set Variable | valueB
Wenn ich die Ausgabe auf diese Weise log
Log To Console | ${JSON["Components"]["SubComponents"]}
Ich sehe
valueB
aber wenn ich auf diese Weise überprüfen
Log To Console | ${JSON["Components"]}
Ich sehe
{u'SubComponents': valueA, u'MoreComponents': whatever}
Was ist los und warum wird es nicht aktualisiert?
Ich muss das JSON-Feld aktualisieren, damit ich einen HTTP-PATCH tun kann. Ich habe versucht, folgende Json handling in ROBOT Aber es funktioniert nicht und ich denke, es hat etwas mit meiner JSON-Datei mit einfachen Anführungszeichen zu tun.
Übrigens, ich bin neu in json und Robot Framework
Wo ist, und warum sind kochend Sie die Dinge? Sie können die JSON-Variable in Python bearbeiten –
Die Pipe ist, wie der Roboterframework funktioniert .. oder Sie können zwei Leerzeichen verwenden. Alle Versuche, die ich gemacht habe, um es in Python mit Evaluate zu bearbeiten, sind fehlgeschlagen. Der Post, mit dem ich verlinkt habe, versucht dies zu tun, aber es funktioniert nicht für mich und ich kann nicht herausfinden, wie ich es beheben kann. – scarlso9
@ cricket_007 - das '|' wird als Schlüsselworttrennzeichen verwendet, nicht die generische Pipe, die wir normalerweise kennen. Kann entweder einen Rohr- oder einen Raumtrenner verwenden - eine Frage der Präferenz. – Goralight