Thanks for your response Rao,
I am using below groovy code as an assertion script for a test step.
//get the path of the project root
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
def projectPath = groovyUtils.projectPath
log.info(" projectPath : "+projectPath)
//get the test suite name
def testSuiteName_appName = messageExchange.modelItem.testStep.testCase.testSuite.getName()
log.info(" testSuiteName_appName : "+testSuiteName_appName)
//get the test case name
def tcaseName_dashboardName = messageExchange.modelItem.testCase.getName()
log.info(" tcaseName_dashboardName : "+tcaseName_dashboardName)
//get the test step name
def testStepName = messageExchange.modelItem.testStep.getName()
log.info(" testStepName : "+testStepName)
if(execution_mode == "testExecution" ) {
File file = new File("/tmp/Assertion_Files/"+testSuiteName_appName+"/"+tcaseName_dashboardName+"/"+testStepName+".txt")
BufferedReader br = new BufferedReader(new FileReader(file));
String fileStatement;
def newString = "";
while ((fileStatement = br.readLine()) != null) {
newString = newString + fileStatement.toString();
}
def expected_data_in_file = newString.trim().replace(' ', '');
expected_data_in_file = expected_data_in_file.replace("\n", "").replace("\r", "");
def splunkRestApiResponse = context.response.toString().trim().replace(' ', '');
splunkRestApiResponse = splunkRestApiResponse.replace("\n", "").replace("\r", "");
log.info(" splunkRestApiResponse "+splunkRestApiResponse);
log.info(" fileResponse trimmed "+expected_data_in_file) ;
assert(splunkRestApiResponse.equals(expected_data_in_file));
log.info(" Assertion Passed ") ;
}
It is working fine. As this is a generic code and all of my teststeps have same groovy assertion script. Is there a way to put this script at one place and then call it from each assertion script. This will help me to reduce my effort whenever there is a change in groovy script.