2017-03-21 6 views
2

現在、すべてが実行された76個のSoapテストステップを持つテストスイートがあります。しかし、ログでは、期待通りにテストステップ名を取得していますが、応答はありません。ログテストSoapUIのgroovyスクリプトを使用したステップ応答

groovyスクリプトとテストステップは、同じテストスイートにありますが、テストケースは異なります。それは以下の構造を有する:

  • のTestSuite

    • TestCaseResponse
      • TestSteps
    • TestCaseLog
      • のGroovyスクリプト

のGroovyスクリプト:

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}') 
    } 
} 

ログ:

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: 

は、なぜ私は、各テストステップの応答であるデータを取得していないのですか?ここで

+0

を使用することですあなたは既にケースを実行しましたか?このGroovyスクリプトは、同じテストケース/テストスイートや 'Teardown Script'にありますか?別のテストケースでも同じテストスイートであれば – Rao

+0

です。すべてのテストステップが実行され、代理人がいます – Ross

+0

ただレスポンスを記録するだけですか?他に何もない? – Rao

答えて

2

は、あなたが探しているものをしている、Groovy Scriptです: キーが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' 
     } 
    } 
} 
関連する問題