Forum Discussion

avlcek's avatar
11 years ago

Set SimpleLoadStrategy parameters from groovy script.

Is possible to set all parameters for load tests, simple strategy? I tried but failed for some parameters e.g. test delay, random parameter.
My attempt:

def testCaseName = context.expand( '${#TestCase#testCaseName}' )
def loadTestName = context.expand( '${#TestCase#loadTestName}' )

def threads = context.expand( '${#TestCase#Threads}' ) as int
def strategy = "SimpleLoadStrategy"//context.expand( '${#TestCase#Strategy}' ) as int
def testDelay = context.expand( '${#TestCase#TestDelay}' )
def random = context.expand( '${#TestCase#Random}' )
def limitSettings = context.expand( '${#TestCase#LimitSettings}' ) //TIME; COUNT; COUNT_PER_THREAD
def testTimeLimit = context.expand( '${#TestCase#TestTimeLimit}' ) as int

def loadTest = testRunner.testCase.testSuite.getTestCaseByName(testCaseName).getLoadTestByName(loadTestName);
def loadTestStrategy = loadTest.getLoadStrategy();
def loadTestStrategyConfig = loadTestStrategy.getConfig();



/*THREADS*/
loadTest.setThreadCount(threads);
log.info("Thread Count: " + threads);

/*STRATEGY*/
log.info(loadTestStrategy.getType().toString());
// how to set also strategy is a question

/*TEST DELAY*/
log.info(loadTestStrategy.testDelay);

/*RANDOM*/

/*LIMIT SETTINGS*/
loadTest.setLimitType(com.eviware.soapui.config.LoadTestLimitTypesConfig.Enum.forString(limitSettings));
log.info("LoadTest Limit Type: " + loadTest.getLimitType() );

/*TIME LIMIT SETTINGS*/
loadTest.setTestLimit(testTimeLimit);
log.info("LoadTest Time Limit: " + loadTest.getTestLimit());

/*START DELAY*/
loadTest.setStartDelay(10);
log.info("LoadTest Delay: " + loadTest.getStartDelay());
No RepliesBe the first to reply