2016-04-01 5 views
0

Ich habe verschiedene Möglichkeiten versucht, um einen zufälligen Wert als Teil der Nutzlast von Rest-Testfall zu senden. Ich muss diesen zufälligen Wert auch in der zurückgegebenen Antwort bestätigen.Hinzufügen und Bestätigen von Zufallswert in SOAPUI Rest-Test

Ich bin in der Lage, einen zufälligen Wert der Nutzlast hinzuzufügen. Aber ich kann diesen zufälligen Wert in der Antwort nicht behaupten.

Ich habe die folgenden Möglichkeiten versucht.

  1. Fügen Sie ein grooviges Skript hinzu und legen Sie eine globale Variable fest.

    def randomValue = java.util.UUID.randomUUID() com.eviware.soapui.SoapUI.globalProperties.setPropertyValue ("randomValue", randomValue)

es dann wie $ in der Nutzlast verwenden {randomValue} So kann ich sowohl in der Anfrage als auch in der Assertion darauf zugreifen. Das passt zu einer Anfrage. Wenn der Auslastungstest mit vielen gleichzeitigen Anforderungen ausgeführt wird, haben die Anforderungen denselben Wert anstelle von zufälligen Werten.

  1. Eigenschaft über Testschritt Eigenschaften festlegen.

    $ {= (int) (Math.random() * 100)

    Dies wird einen zufälligen Wert auf die Anforderung zu beweisen. Aber in der Behauptung ist der Zufallswert ein neuer Wert. Es ist nicht dasselbe wie in der Anfrage.

Jede Hilfe wird sehr geschätzt.

Antwort

1

Sie sind auf dem richtigen Weg.

Set des Zufallswert aus der Test-Setup-Skript, so etwas wie:

def randomValue // = whatever you like: UUID.randomUUID() or Math.random() work fine 
testCase.setPropertyValue("randomValue", randomValue.toString()) 

Dies wird einen zufälligen Wert einmal für jeden Testlauf erzeugen. Dann beziehen Sie sich irgendwo von Ihrem Test mit der Eigenschaftserweiterung auf ${#TestCase#randomValue}.

+0

Danke. Es klappt. – user1760178

1

Können Sie analysieren sein müssen und bauen Sie Ihre Anfrage

  1. Verwenden JsonSlurper oder xmlSlurper Anfrage
  2. einfügen Zufallswert in Anforderung analysieren

3.Build Json/xml wieder JsonBuilder mit/xmlBuilder

def builder = new JsonBuilder(your_changed_json) 
    def json = builder.toPrettyString() 
    json = groovy.json.StringEscapeUtils.unescapeJava(json) 
  1. stellen Sie die oben json/xml auf Ihre Anfrage

    step.testRequest.setRequestContent(json)