|
This topic presents a variety of SOASTA CloudTest data generation scripts. Scripts can be copied and pasted directly into the SOASTA CloudTest Script Editor using Central > Scripts. Longer scripts have an accompanying image that can be clicked to pop out the full example s ript. Shorter scripts are presented inline (in the right column).
|
|
- Script 1: Random number/string generator
The Random number/string generator script will generate a random number and place it into a test clip.
|

|
- The function to the right generates a random integer (whole number) contained within the two extremes (inclusive on lower extreme, exclusive on upper).
|
function generateRandomNumber(lowerExtreme, upperExtreme) { return Math.floor(Math.random() * (upperExtreme - lowerExtreme) + lowerExtreme); }
|
|
For example, generate a random number, either 1, 2, or 3:
|
var num = "" + generateRandomNumber(1,4);
|
|
Generate a random number either 5, 6 or 7:
|
var num = "" + generateRandomNumber(5,8);
|
|
Generate a random string of the given length using alpha- numerics (upper and lower case).
|
var ranString = generateRandomString(5);
|
|
The next example generates a random string of five characters in length, such as: "udG6Z"
|
function generateRandomString(stringLength) { var pool = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; var poolLength = pool.length; var randomString = []; for (var ndx = 0; ndx < stringLength; ndx++) { randomString[randomString.length] = pool.charAt(generateRandomNumber(0, poolLength)); } return randomString.join(""); }
|
- Script 2: Generate a random number of 7 or 8 digits
The Random number/string generator with seven-eight characters script will generate a random number with seven or eight characters and place it into a test clip.
|

|
|
Lines 1-3 create a function to generate a random number.
|
function generateRandomNumber(lowerExtreme, upperExtreme) { return Math.floor(Math.random() * (upperExtreme - lowerExtreme) + lowerExtreme); }
|
|
Line 5 creates a variable, num, to store the random number, which will contain seven to eight characters.
|
var num = "" + generateRandomNumber(1000000,99999999);
|
|
Lines 7-8 place the random number into the current test clip context as a property.
|
$context.result.postMessage($context.result.LEVEL_INFO, "Random rUID: " + num); $prop.set("MessageClip", "rUID", num);
|
- Script 3: Using properties to generate unique data
This simple script uses properties to generate unique data:
|
{%%Sys-Prop:Composition:StartTimeMillis%%}-{%%Sys-Prop:Track:VUNumber%%}-{%% expr: $context.currentClipIndex %%}
|
- Script 4: : Generate guaranteed unique numbers based on a timestamp
This simple script guarantees unique number generation based on a timestamp:
|
var vus = new Number($context.currentTrack.systemPropertyList.getPropertyValue("VUNumber")); var startTimeMilis = new Date().getTime(); var clipIndex = $context.currentClipIndex;
if(-1 == clipIndex) { clipIndex = 0; } var uniqueNumber = vus+"-"+startTimeMilis+"-"+clipIndex; //var uniqueNumber = "0"; $context.result.postMessage($context.result.LEVEL_INFO, "uniqueNumber = "+uniqueNumber);
$prop.set("MessageClip", "userNum", uniqueNumber);
|