Magasin de demande/réponse de fichiers dans le répertoire local avec Groovy teststep dans soapUI
Par le biais d'un groovy teststep dans soapUI je souhaite à tous de demande et de réponse de stocker des fichiers dans un répertoire local avec système de date.
Le groovy teststep dans soapUI:
def name = context.expand( '${Input#TG}' )
def locatie = context.expand( '${#TestCase#locatie}' )
def createFolder() {
date = new Date()
dateFormat = new java.text.SimpleDateFormat('ddMMyyyy')
shortDate = dateFormat.format(date)
outputFolder = locatie+shortDate
createFolder = new File(outputFolder)
createFolder.mkdir()
}
def getResponseFilename(name) {
respFilename = createFolder()+"_"+name+"_response.xml"
}
def getRequestFilename(locatie,name) {
reqFilename = createFolder()+"_"+ name+"_request.xml"
}
def file = new PrintWriter (getResponseFilename(name))
def response = testRunner.testCase.testSteps
["CheckAdres"].testRequest.response.contentAsString
file.println(response)
file.flush()
file.close()
def file2 = new PrintWriter (getRequestFilename(name))
def request = context.expand('${CheckAdres#Request}')
file2.println(request)
file2.flush()
file2.close()
J'obtiens l'erreur suivante:
Tue Jun 14 12:47:24 CEST 2011:**ERROR:groovy.lang.MissingPropertyException: No such property: locatie for class: Script78**
groovy.lang.MissingPropertyException: No such property: locatie for class: Script78
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:49)
at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:49)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:241)
at Script78.createFolder(Script78.groovy:8)
at Script78$createFolder.callCurrent(Unknown Source)
at Script78.getResponseFilename(Script78.groovy:14)
at Script78$getResponseFilename.callCurrent(Unknown Source)
at Script78.run(Script78.groovy:21)
at com.eviware.soapui.support.scripting.groovy.SoapUIGroovyScriptEngine.run(SoapUIGroovyScriptEngine.java:93)
at com.eviware.soapui.support.scripting.groovy.SoapUIProGroovyScriptEngineFactory$SoapUIProGroovyScriptEngine.run(SourceFile:51)
at com.eviware.soapui.impl.wsdl.teststeps.WsdlGroovyScriptTestStep.run(WsdlGroovyScriptTestStep.java:148)
at com.eviware.soapui.impl.wsdl.panels.teststeps.GroovyScriptStepDesktopPanel$RunAction$1.run(GroovyScriptStepDesktopPanel.java:274)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Vous devez vous connecter pour publier un commentaire.
Il y a plusieurs façons de le faire. L'une serait la création d'un Groovy étape de test avec le script suivant:
Essayez d'utiliser
SoapUI
's des outils pour sélectionner la valeur de ce que vous voulez.Clic droit sur le
groovy
zone d'édition, choisissezGet Data
--> votre suite de tests --> votre cas de test --> votre étape de test -->response
. Ainsi, vous obtenez la totalité de la réponse. Vous pouvez également vous plonger plus profondément dans laresponse
avec cette méthode.Il y a une syntaxe plus courte. La logique est similaire à ce @robert Partagé
si vous voulez le réduire à une seule ligne
Vous pouvez remplacer RawRequest avec tout ce que vous voulez enregistrer
RawRequest est utilisé lorsque vous souhaitez que les données de remplacer les variables utilisées dans la demande
Découvrez la réponse par McDonald. Meilleure façon d'économiser et de tirer la demande.
http://www.loadui.org/forum/viewtopic.php?f=5&t=16354#p38935
Plus utile si nous devons enregistrer une erreur en Réponse: