2017-12-10 6 views
1

현재 SoapUI에서 테스트 스위트에 대한 보고서를 생성하려고합니다.groovy 스크립트를 사용하여 soapuI의 테스트 단계를 반복하십시오.

내 오랜 작업 코드가있는 TestSuite의 분해 스크립트에서, 라인이이었다

def testc = project.testSuites['TestSuite'].testCases['TestCase'].testSteps['xxxxx'] 

그러나 각각의 새로운 시험 단계에 복제되어야했다.

내가 사용하려고 해요 코드는 다음 중 하나입니다 :

for (service in project.testSuites) { 
    for (testCase in service.testCases) { 
     for (testStep in testCase.testSteps) { 
      someFile.withWriterAppend{out ->out.println testStep.toString()} 
     } 
    } 
} 

느릅 나무가 나에게이 오류주고있다 :

끝내 lang.MissingPropertyException : 그런 특성 : 클래스에 대한 테스트 케이스를 : javaUtil.hashMap $ Node

모든 테스트 단계에 액세스 할 때 같은 경로를 사용하기 때문에 반복 할 수 없다는 것에 놀랐습니다.

+0

벤자민, 위에서 언급 한 문제가 해결되는지 확인하려면 아래 솔루션을 살펴 보시겠습니까? 도움이된다면 [대답] (https://stackoverflow.com/tour)으로 표시 할 수 있습니다. – Rao

답변

1

project.testSuites 당신에게지도를 제공합니다. 따라서 오류. 대신 목록을 제공하는 project.testSuiteList을 사용하십시오. 그래서, 위에서 언급 한 오류가 사라집니다.

마찬가지로, 다른 객체도 마찬가지입니다. 아래에서 변경된 코드 스 니펫을 참조하십시오.

for (suite in project.testSuiteList) { 
    for (kase in suite.testCaseList) { 
     for (step in kase.testStepList) { 
      someFile.withWriterAppend{out ->out.println testStep.toString()} 
     } 
    } 
}