Sriraj
8 years agoContributor
Structured logging of the results using EventHandler
Hi,
Please navigate to the below path section 8 Logging results
https://www.soapui.org/scripting-properties/tips-tricks.html#1-4-Test-step-name
The code helps in creating the request and response files for each step but all of them get created in one location/folder
Can someone help me in extending this to have the Project name , Suite name and the Test case names as folders ?
Something like below
- Parent Folder : ProjectName_CurrentTimestamp
- Child Folder (Inside Parent Folder) : <TestSuitename>
- Child Folder (Inside Test suite Folder) : <TestCaseName>
- Here place all the request response files
- Child Folder (Inside Test suite Folder) : <TestCaseName>
- Child Folder (Inside Parent Folder) : <TestSuitename>
Actual code from the path provided above :
filePath = 'c:/users/henrik/soapUI-results/' fos = new FileOutputStream( filePath + testStepResult.testStep.label + '.txt', true ) pw = new PrintWriter( fos ) testStepResult.writeTo( pw ) pw.close() fos.close()
Basically i want a structured logging of the results.
Hi Sriraj,
You can use the following code in the TestRunListener.afterStep event handler to create such a folders structure:
def pName = context.currentStep.testCase.testSuite.project.name //get project name def pDate = new Date().format( 'yyyyMMdd' )//get current date def sDate = pDate.toString()//convert date to string def pTestSuite = context.currentStep.testCase.testSuite.name//get TestSuite name def pTestCase = context.currentStep.testCase.name//get TestCase name def filePath = 'D:/soapUI-results/'+pName+'_'+sDate+'/'+pTestSuite+'/'+pTestCase+'/'//compose the folder path File file = new File(filePath) if (!file.exists()) file.mkdirs()//create the destination folder fos = new FileOutputStream(filePath+ testStepResult.testStep.label + '.txt', true) pw = new PrintWriter( fos ) testStepResult.writeTo( pw ) pw.close() fos.close()
I hope this helps.