2016-05-13 8 views
1

Wie kann ich sicherstellen, dass mein SoapUI MockService die richtige Antwort auf die richtige Anfrage zurückgibt? Die Reaktion selbst erzeugt wird innerhalb der MockService Skript „OnRequest“ und in Eigenschaft gespeichert -SoapUI MockService - Wie behandelt man gleichzeitige Anfragen?

context.content 

Der Inhalt der Antwort ist nur

${content} 

Aber wenn zwei oder mehr Anfragen zur gleichen Zeit passieren beide Skripte werden zur gleichen Zeit ausgeführt und die Antwort ist wegen der Neuzuweisung der Eigenschaft nicht immer korrekt.

Vielleicht - kann ich die Ausführung des Skripts irgendwie synchronisieren, so dass nur eine gleichzeitig ausgeführt wird?

+0

Nicht sicher, ob Sie immer noch das Problem haben. Aber wie hast du es gleichzeitig getestet? – Rao

+0

Mit SoapUI Last Test Feature, indem Sie mehrere Threads können Sie es konfigurieren, so dass zwei Anfragen zur gleichen Zeit gesendet werden – MorkPuncher

+0

Aber haben Sie einige Behauptung zu wissen, wenn die gleiche Scheinantwort für verschiedene Anfragen gesendet wird? Übrigens, bist du zu diesem Problem gekommen? – Rao

Antwort

0

Versand Antworten auf einige Kriterien Anfrage, für ex .:

def postcode = new XmlParser().parseText(postcodes[0].xmlText()).text() 

if (postcode == "abcd") {return "response 1"} 

else if (postcode == "efgh") {return "response 2"} 
+0

He, das Problem ist nicht die richtige Antwort auszuwählen, sondern dass simultane Anfragen die Antworten gegenseitig überschreiben und alle die gleiche Antwort auf verschiedene Anfragen erhalten . Dies geschieht nur, wenn die empfangenen Anfragen in der gleichen Millisekunde oder ähnlich sind! – MorkPuncher

0

In Ihrem Fall mock Kontext ist das Objekt, das synchronisiert werden muss. Bitte überprüfe, ob es synchronisiert wurde oder nicht. wenn zwei Threads [Anfragen nach Mock] gleichzeitig zugreifen. sie manipulieren den gleichen Kontext zur gleichen Zeit. Daher ist der Kontext das Objekt, das Sie synchronisieren müssen.

+0

Aber wie kann ich es synchronisieren? Das Schlüsselwort 'Synchronisiert' und die Annotation funktionieren nicht. – MorkPuncher

+0

Versuchen Sie, das Kontextobjekt an einen Java-Aufruf zu senden, und versuchen Sie in Java, das zu verarbeiten. –

Verwandte Themen