2017-03-21 3 views
2

Ich habe derzeit eine Testsuite mit 76 Soap Test Schritte, in denen alle ausgeführt wurden. In den Protokollen erhalte ich jedoch den Namen des Testschritts als erwartet, aber nicht die Antwort.Log Test Schritt Antwort mit groovy Skript in SoapUI

Sowohl das Groovy-Skript als auch die Testschritte befinden sich in der gleichen Testsuite, aber in verschiedenen Testfällen. Es hat die folgende Struktur:

  • Testsuite

    • TestCaseResponse
      • Testschritte
    • TestCaseLog
      • Groovy Script

Groovy Script:

def testCases = context.testCase.testSuite.getTestCaseList() 
testCases.each 
{ 

    for(testSteps in it.testStepList) 
    { 
     log.info "~~~Test Step:" + testSteps.name 
     def requestname = testSteps.name 
     log.info context.expand('${'+requestname+'#Response}') 
    } 
} 

Logs:

Tue Mar 21 11:50:04 GMT 2017:INFO:~~~Test Step:TestStep_0001 
Tue Mar 21 11:50:04 GMT 2017:INFO: 
Tue Mar 21 11:50:04 GMT 2017:INFO:~~~Test Step:TestStep_0002 
Tue Mar 21 11:50:04 GMT 2017:INFO: 
Tue Mar 21 11:50:04 GMT 2017:INFO:~~~Test Step:TestStep_0003 
Tue Mar 21 11:50:04 GMT 2017:INFO: 

Warum bin ich die Daten nicht erhalten, die in der Antwort für jeden Prüfschritt ist? Hier

+0

zu verwenden Haben Sie die Fälle bereits laufen? Wo befindet sich dieses groovige Skript, im selben Testfall/Testsuite oder "Teardown Script"? – Rao

+0

wenn in einem anderen Testfall, aber in derselben Testsuite. und alle Testschritte wurden ausgeführt und haben Antworten – Ross

+0

Sie wollen nur die Antwort protokollieren? Nichts anderes? – Rao

Antwort

2

ist die Groovy Script, das tut, was Sie suchen: Key ist step.getPropertyValue('Response')

import com.eviware.soapui.impl.wsdl.teststeps.WsdlTestRequestStep 
//Repeat thru test cases 
context.testCase.testSuite.testCaseList.each { tc -> 
    tc.testStepList.each { step -> 
     log.info "~~~Test Step:" + step.name 
     if (step instanceof WsdlTestRequestStep) { 
      log.info step.getPropertyValue('Response') 
     } else { 
      log.info 'Ignoring step as it is not SOAP request type step' 
     } 
    } 
} 
Verwandte Themen