Sperk
8 years agoOccasional Contributor
Writing to a file where the filename is held in a TC property
When looping through a Datasource and parsing Rest requests I'm trying to create a file on the 1st iteration and write to that file on all iterations.
I'm storing the file name in a TC property and when debugging the code it is objecting to the line highlighted below saying I cannot write to the file defined like this.
I'm a Groovy noob so any help would be really appreciated
def firstTimeThrough = testRunner.testCase.getPropertyValue('firstIteration') fTime = firstTimeThrough.toBoolean() log.info(fTime) if(fTime == true){ def date = new java.text.SimpleDateFormat("yyyy-MM-dd-HH-mm-SS") def fname = 'FRDealerResponseFile_' + date.format(new Date()) def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context) def projectPath = groovyUtils.projectPath def resultsFile = new File(projectPath + '\\Results\\FR-Dealer-Get-Products\\' + fname + '.log') testRunner.testCase.setPropertyValue("externalResultsFile", projectPath + '\\Results\\FR-Dealer-Get-Products\\' + fname + '.log') testRunner.testCase.setPropertyValue("firstIteration", 'false') testRunner.testCase.setPropertyValue("overallResult", 'PASSED') log.info('FIRST TIME THROUGH') testRunner.testCase.setPropertyValue("firstIteration", 'false') } // Debugger objecting to this line resultsFile = testRunner.testCase.setPropertyValue("externalResultsFile") // log.info(firstTimeThrough) obj = context.testCase.getTestStepByName("Get-FR-Dealer-Products") assertions = obj.getAssertionList() assertions.each{ stat = (it.status).toString() log.info (stat) if(stat == "FAILED"){ log.info "FOUND FAILED" resultsFile.append(it.name + ' --> ' + it.status) res = 'FAILED' } }
Here is the error message returned by the debugger
groovy.lang.MissingMethodException: No signature of method: com.eviware.soapui.impl.wsdl.WsdlTestCasePro.setPropertyValue() is applicable for argument types: (java.lang.String) values: [externalResultsFile] Possible solutions: getPropertyValue(java.lang.String), setPropertyValue(java.lang.String, java.lang.String) error at line: 21
Mark Smith
- "setPropertyValue" - requires two inputs; one for property name and another one is for its value.