2017-10-04 3 views
1

auslösen Mit dem folgenden Skript kann ich die Daten/Nutzdaten an meine POST-Anfrage senden. Beachten Sie jedoch, dass die Postanforderung vom Skript ausgeführt wird. Need Post Anfrage in Schleife.Wie REST-Anforderung in SOAPUI mit Groovy-Skript-Test-Schritt

def POSTForgivness = testRunner 
    .testCase 
    .getTestStepByName("postforgivness") 
    .getT‌​estRequest() 
POSTForgivness.setRequestContent(ForgivnessPayload) 

Weitere Informationen von Kommentaren:

  • jedes Mal in Schleife habe ich verschiedene Daten für die Zeit nach Anfrage
  • nicht Test laden, aber Post-Anforderung mit unterschiedlichen Eingangsdaten
  • haben einige 900 bekommen + Records, die in der Lage sind, die Daten zu lesen und an die Post-Anfrage zu senden, aber die Post-Anfrage in der Schleife nicht auszulösen/danach auszuführen.
+0

// Aufruf der POST Forgivness API für jeden Datensatz in der JSON-Datei. def POSTForcness = testRunner.testCase.getTestStepByName ("postforgivness"). GetTestRequest() POSTForivness.setRequestContent (ForgivnessPayload)} –

+0

Würden Sie bitte die Frage bearbeiten und diese Fragen beantworten? 1. Gibt es irgendeine Änderung in der Anfrage jedes Mal? 2. Versuchen Sie, Test zu laden? Sie können Ihren Anwendungsfall ein wenig mehr erklären. – Rao

+0

1. Ja, jedes Mal in der Schleife habe ich unterschiedliche Daten für Post-Anfrage –

Antwort

1

Sie gehen: sudo Code

  1. den Prüfschritt nach Namen bekommen
  2. die neue Anforderung zum nächsten Schritt gesetzt
  3. den Schritt
  4. Notwendigkeit führen Sie den Rest Schritt als alles, was zu deaktivieren wird gesteuert durch Schritt1
  5. (was stark Skriptschritt)
//Get the next step 
def nextStep = context.testCase.getTestStepByName("postforgivness") 
//Set the new request 
nextStep.httpRequest.requestContent = ForgivnessPayload 
//run next step 
nextStep.run(testRunner, context) 

Wiederholen Sie den obigen Code, bis Sie die Daten fertig haben.

+0

Vielen Dank Rao, es hat perfekt funktioniert –

0

Re Benötigen Post Anfrage in Schleife.

Dies klingt wie ein datengetriebener Test im Gegensatz zu einem Belastungstest.

Platzieren Sie Ihre Anfrage nach der Vergebung zwischen einem Datenquellenschritt und einem Datenquellenschleifenschritt.

Sie können dann den Post-Vergebungs-Schritt so oft wiederholen, wie in Ihrem Datenquellen-Schritt Reihen eingerichtet sind. Für jede Zeile, die Sie eingerichtet haben, können Sie die Nutzlast definieren, um in Ihre Anfrage "hineinzuspritzen".

Es gibt einen ausgezeichneten Artikel auf der SoapUI Website https://www.soapui.org/data-driven-tests/functional-tests.html. Hier

+0

Danke Chris: Meine Datenquelle ist eine JSON-Datei, ich habe Erfahrung in der Verwendung von Datenquelle von MySQL DB, aber nie Datenquelle von JSON-Datei verwendet, also schrieb ich ein Skript zum Lesen der JSON-Datei.Ich möchte einen Weg zum Auslösen finden die Restanforderung von Skript –

+0

OK, in SoapUI suchen, gibt es mehrere gültige Datenquelleneingaben, aber es gibt keinen für JSON. Können Sie eine Tabelle erstellen, in der jede Zeile die Daten eines JSON-Objekts in Ihrer Datei enthält? Wenn dies der Fall ist, ist es sehr einfach zu verwenden, so dass Sie Ihre Testanforderung für jede Zeile in der Tabelle aufrufen können. –

Verwandte Themen