Forum Discussion
Hi caz88 ,
testRunner variable is not available at Project level.
If you wanted to access testStep you can use below syntax by using project variable.
project.getTestSuiteByName("Test Suite Name").getTestCaseByName("Test Case Name").getTestStepByName("Test Step Name");
Thanks for the reply. If testrunner isn't available at the project level is there a way to reset every datasource of every testcase at the end of the run. I have it working at the testcase level but would like it to be a bit of script that sits in the teardown script of the project. The scripts I've included currently sit at the TestCase level
class TearDownForSelectedMarkets{
def static resetTestCaseSettings(testRunner, context, log){
//reset the data to original path
DataSource.setDataPath(testRunner,context,log)
//reset the datasource path
def dataSourceStep = testRunner.testCase.getTestStepByName("DataSource")
dataSourceStep.getDataSource().setFileName('${#TestCase#DataPath}/${#TestCase#DataFile}')
//delete global property
com.eviware.soapui.SoapUI.globalProperties.removeProperty("region")
//delete temporary folder/file
}
}
class StartUpForSelectedMarkets{
def static setRegionAsGlobalProperty(testRunner, context, log){
//set global property - SETUP SCRIPT
def objGlobalProperties = com.eviware.soapui.SoapUI.globalProperties
objGlobalProperties.setPropertyValue("region", "ca ie")
}
}
- HimanshuTayal7 years agoCommunity Hero
Hi caz88 ,
Try below code hope it will help.
def suiteCount = project.testSuiteCount def testCaseCount for(i=0;i<suiteCount;i++){ testCaseCount = runner.project.getTestSuiteAt(i).getTestCaseCount(); for(j=0;j<testCaseCount;j++){ //work when DataSource Step name is "DataSource" def dStep = runner.project.getTestSuiteAt(i).getTestCaseAt(j).getTestStepByName("DataSource"); if(dStep != null ){ //reset here log.info "contains datasource step" } else{ //these are the cases where DataSource step doesn't exist log.info "doesn't contains datasource step" } } }- caz887 years agoOccasional Contributor
HimanshuTayal
I appreciate the suggestion but ideally I want to use it in my SetUp script to alter the Datasource if there is a global property availableWhen I try to use runner.project in the setup script I keep getting an error?
- HimanshuTayal7 years agoCommunity Hero
caz88 ,
runner variable is avaible at setup script level, refer below link
It will be helpful if you can attach any screenshot.