Apoorva6
4 years agoFrequent Contributor
How to get resource path in groovy soapui open source?
import groovy.xml.MarkupBuilder
import org.custommonkey.xmlunit.*
import java.util.Random
import java.security.MessageDigest
import java.nio.file.*
import java.text.SimpleDateFormat
/*def date = new Date()
trnsID1 = new SimpleDateFormat("yyyymmdd")
trnsID = new SimpleDateFormat("ddMMhhss")
trnsID2 = new SimpleDateFormat("MMhhss")
def fileNM = 'JWCC_'+trnsID1.format(date)+'_DataUsage_'+trnsID.format(date)+'_'+trnsID2.format(date)+'_001.dat'
log.info('FileName is ' +fileNM) */
String uri = new String(context.getProperty("requestUri").toString())
log.info ('uri is ' +uri)
//log.info submit.request.getPath()
//submit.request.setPath("/product/api/v4.0/foo")
//log.info submit.request.getPath()
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
def projectPath = groovyUtils.projectPath
log.info projectPath
def project = testRunner.testCase.testSuite.project
log.info "Project: " + project.name
def myTestSuite = testRunner.testCase.testSuite;
log.info "TestSuite: " + myTestSuite.name
def testCase = testRunner.testCase
log.info "TestCase: " + testCase.name
def testStepUploadDataAfterCheck = testCase.getTestStepByName("Request 1")
def request= testStepUploadDataAfterCheck.testRequest
log.info "TestStep: " + testStepUploadDataAfterCheck.name
// clear existing attachments
for( a in request.attachments ) {
request.removeAttachment( a )
}
//FileNamePath
def fileNamePath = testCase.getTestStepAt(testRunner.testCase.getTestStepIndexByName("Properties1")).getProperty("FileNamePath")
//FileName
def fileName = testCase.getTestStepAt(testRunner.testCase.getTestStepIndexByName("Properties1")).getProperty("FileName")
// get file to attach
log.info "file to attach: " + fileNamePath.getValue()
log.info (fileName)
def file = new File(fileNamePath.getValue() )
if ( file == null) {
log.error "bad filename"
}
else
{
// attach and set properties
def attachment = request.attachFile( file, true )
attachment.contentType = "application/octet-stream"
//attachment.setPart(fileName.getValue())
//def holder2 = groovyUtils.getXmlHolder( "Request 1#Request" ) // Get Request body
//holder2.setNodeValue( "//upl:UploadDataAfterCheckRequest/uploadedData","cid:"+fileName.getValue()); //Set "link" to attachment in request body
//holder2.updateProperty() //and update
//log.info (fileName)
}