Forum Discussion
1 Reply
- ReshmaSachdevContributorCan any one suggest that following code will be appropariate to achieve by adding script to Event Handler in project - TestRunListener.beforeRun, for both JDBC and Data Source with Data Connection test steps?
// Iterate all test steps in the test case and change connectionString for all ProJdbcRequestTestStep and WsdlDataSourceTestStep to the selected environment connectionString.
for(testStep in context.testCase.getTestStepList())
{
// Set the connectionString for all ProJdbcRequestTestStep
if(testStep instanceof com.eviware.soapui.impl.wsdl.teststeps.ProJdbcRequestTestStep)
{
// Get databaseName
def databaseName = testStep.getJdbcRequestTestStepConfig().getDbConnectionName()
// Get connectionString of active environment
def connectionString = context.testCase.testSuite.project.activeEnvironment.databaseConnectionContainer.getDatabaseConnectionByName(databaseName).getConnectionString()
testStep.setConnectionString(connectionString)
// Get connection password of active environment
def connectionPassword = context.testCase.testSuite.project.activeEnvironment.databaseConnectionContainer.getDatabaseConnectionByName(databaseName).getPassword()
testStep.setPassword(connectionPassword)
}
else if(testStep instanceof com.eviware.soapui.impl.wsdl.teststeps.WsdlDataSourceTestStep)
{
if(testStep.getDataSource() instanceof com.eviware.soapui.impl.wsdl.teststeps.datasource.DBDataSource)
{
// Get databaseName
def databaseName = testStep.getDataSource().getDbConnectionName()
// Get connectionString of active environment
def connectionString = context.testCase.testSuite.project.activeEnvironment.databaseConnectionContainer.getDatabaseConnectionByName(databaseName).getConnectionString()
testStep.getDataSource().setConnectionString(connectionString)
// Get connection password of active environment
def connectionPassword = context.testCase.testSuite.project.activeEnvironment.databaseConnectionContainer.getDatabaseConnectionByName(databaseName).getPassword()
testStep.getDataSource().setPassword(connectionPassword)
}
}
}