2012-03-26 13 views
2

Wir haben eine Test-Suite mit 3 Schritten. Der erste Schritt führt eine WSDL aus. Die Sekunde ist eine Verzögerung von 10 Sekunden und die dritte ruft eine weitere WSDL auf.Pass System.currentTimeMillis() als Parameter zwischen Testschritten in SoapUI

Die erste erfordert System.currentTimeMillis() als Parameter. Die gleiche Zeit muss an die dritte weitergegeben werden. Wir haben versucht, einen Laufzeitparameter wie ${=System.currentTimeMillis()} einzustellen.

Dies funktioniert gut für den ersten Schritt. Aber wenn der dritte Schritt aufgerufen wird, wird der ${=System.currentTimeMillis()} erneut ausgeführt, was einen anderen Millisekundenwert ergibt. Gibt es einen Weg, wie wir im ersten Schritt die aktuelle Millisekunde erreichen und die gleiche über die dritte weitergeben können?

Antwort

1

Versuchen Sie, Ihrem Testfall eine Eigenschaft namens "currentTimeMilisecond" hinzuzufügen. Dann fügen Sie eine groovige Prüfschritt, bevor Sie Ihren anderen Anforderungen, wie folgt aus:

context.testCase.properties["currentTimeMilisecond"]. 
    setValue(System.currentTimeMillis().toString()) 

Dann wird in den Prüfschritten ersetzen Sie $ {= System.currentTimeMillis()} mit $ {# # Testcase currentTimeMilisecond}.

Dies scheint für mich zu arbeiten, aber ich kenne Ihre spezifischen Anforderungen nicht. Viel Glück!

+0

Sorry über die letzte Antwort, Cut-and-Paste mich albern. Dieses Beispiel sollte funktionieren. –