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());
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());