2017-11-06 2 views
1

Ich arbeitete nur mit JSON-Antwort und zur Validierung verwendete ich unten Skript. Jetzt muss ich eine ähnliche Validierung für die XML-Antwort durchführen. Wie erreicht man das für XML?Groovy Script Behauptung für XML-Antwort mit Soapui?

import groovy.json.JsonSlurper 

def response = messageExchange.response.responseContent 
def slurper = new JsonSlurper() 
def json = slurper.parseText response 

assert json.name == "ABCD" 
assert json.status == "Success" 
+0

Bitte zeigen Sie die Probe xml Antwort – Rao

+0

Sorry Rao, ab sofort habe ich keine Antwort zu teilen mit Ihnen. Könnten Sie bitte ein einfaches Beispiel nehmen und teilen? – Basavaraj

+1

Es gibt viele Antwort damit, siehe [hier] (https://stackoverflow.com/search?q=user%3A1702943+%5Bgroovy%5DxmlSlurper) – Rao

Antwort

2

Sie können einfach XmlSlurper Klasse verwenden, die JsonSlurper sehr ähnlich ist. Angenommen, dies ist Ihre XML, können Sie etwas tun:

def xml = '''<?xml version="1.0" encoding="UTF-8"?> 
<breakfast_menu> 
    <food> 
    <name>Belgian Waffles</name> 
    <price>$5.95</price> 
    <description>Two of our famous Belgian Waffles with plenty of real maple syrup</description> 
    <calories>650</calories> 
    </food> 
    <food> 
    <name>Strawberry Belgian Waffles</name> 
    <price>$7.95</price> 
    <description>Light Belgian waffles covered with strawberries and whipped cream</description> 
    <calories>900</calories> 
    </food> 
</breakfast_menu> 
''' 

def root = new XmlSlurper().parseText(xml) 

assert root.food[0].name.text() == 'Belgian Waffles' 

Beachten Sie, dass new XmlSlurper().parseText(xml) gibt einen Knoten, der mit dem ersten (root) XML-Knoten-Element bezieht. Dann können Sie fast die gleichen Manipulationen vornehmen, die für die Klasse JsonSlureper verfügbar sind.

+0

Danke, also zwischen JSON und XML-Antwort, welche ist die beste Praxis in Bezug auf API-Tests? – Basavaraj

Verwandte Themen