Ich bin völlig neu in Groovy und SOAPUI.Wie update Antwort xml mit groovy und drucken Sie es
Szenario:. Vergleichen Sie zwei XML-Antwort (beide gehören zu verschiedenen Projekt)
Methode versucht: Nehmen Sie die Antwort und schreiben Sie die Antwort auf eine Datei, zu vergleichen, sowohl die Dateien.
Problem konfrontiert: Zeitstempel Mismatch, da beide Anfrage zu verschiedenen Zeiten laufen
Aufgrund der obigen Frage, die ich versuchte, den Knoten Wert der Zeitstempel zu erhalten und sie ändern * sowohl für die Antworten. Aber ich kann den geänderten Antwortwert nicht schreiben.
Groovy Skript:
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context);
log.info(groovyUtils.projectPath);
def holder = groovyUtils.getXmlHolder("loginRequest#Response")
holder.setNodeValue("//ns3:loginUserResponse[1]/ns3:loginUserResponse/userModel/auditModel/timestamp", "1");
Zunächst def holder
hält die Antwort xml, aber nach dem xml in Halter bekommen, ich bin Aktualisierung der Knotenwert. Ich bin mir nicht sicher, wie ich weiter vorgehen soll. Ich muss das aktualisierte XML in eine Datei schreiben.
Was ist der Fehler, den Sie sehen? Stacktrace bitte? – Rao
Sie haben Namespaces in Ihrem XPath nicht definiert! Versuchen Sie 'holder.setNodeValue (" * *: loginUserResponse [1]/*: loginUserResponse/*: userModel/*: auditModel/*: Zeitstempel "," 1 ")' '. – SiKing
benutze // *: elementName Konvention für den XPath und benutze dann den groovigen Code "holder.updateProperty()" und schreibe ihn dann in eine Datei –