Test entity XML
The fields in the request are:
Element | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Analysis Template ID Available in versions: 12.55 and later | Optional. The ID of customized analysis template used to display your performance test run. | |||||||||
Automatic Trending | Optional. Automatically publishes trend results. Includes the following sub-elements:
| |||||||||
Controller | Optional. If not passed in the request, the value is set to dedicated , meaning that LoadRunner Enterprise assigns a controller at the beginning of the test execution. | |||||||||
Diagnostics | Optional. Adds Diagnostics settings to a load test. You can add those settings even if you do not have a Diagnostics server attached to the project. You can enable or disable any of the settings (the settings are disabled by default). | |||||||||
ElasticLoadGeneratorConfiguration Available in versions: 12.62 and later | Optional. Configures provisioning settings for a test when using a Dockerized load generator (see also Groups/Group/Hosts). This element has the following values:
Note: When CpuLimit or MemoryLimit is used, you must supply both of these values (or neither); you cannot send only one of them. If the administrator has not set CPU or Memory limits, you must not provide your own. | |||||||||
Available in versions: 12.60 and later | Optional. When a goal-oriented scheduler is used instead of a Global scheduler, LoadRunner Enterprise automatically builds a schedule for you based on the goal you set for your test to achieve. See Example: Goal-oriented scheduler below. | |||||||||
GoalScheduler/GoalProfileName | Optional. The name given to describe the goal. | |||||||||
GoalScheduler/GoalType | Required. Goal types can be:
| |||||||||
GoalScheduler/GoalVirtualUsers | Mandatory when GoalType is VirtualUsers (otherwise, it cannot be used). This goal type contains the following tag:
| |||||||||
GoalScheduler/GoalHitsPerSecond | Mandatory when GoalType is GoalHitsPerSecond (otherwise, it cannot be used). This goal type contains the following tags:
| |||||||||
GoalScheduler/GoalTransactionsPerSecond | Mandatory when GoalType is TransactionsPerSecond (otherwise, it cannot be used). This goal type contains the following tags:
| |||||||||
GoalScheduler/DoNotChangeScriptThinkTime | Optional. Enables changing the script think time (true/false). | |||||||||
GoalScheduler/ScenarioSettings | Required. Set the test settings for the goal using the following tags:
| |||||||||
GlobalCommandLine Available in versions: 12.55 and later | Optional. Defines or updates the command line that can be applied to all or part of the groups in a test. See Example: Update global runtime settings and command line below. | |||||||||
GlobalRTS Available in versions: 12.55 and later | Optional. Defines or updates the runtime settings that can be applied to all or part of the groups in a test. See Example: Update global runtime settings and command line below. | |||||||||
Groups/Group [1..n] | Required. | |||||||||
Groups/Group/CommandLine | Optional. Type the name and value of the parameter you want to send using the format: <Parameter_Name> <value>. | |||||||||
Available in versions: 12.56 and later (cloud hosts are available in 2020 and later) | The name and type of host. Host types can be:
| |||||||||
Groups/Group/Name | Any group name valid in LoadRunner. | |||||||||
Groups/Group/RTS | An XML segment containing the data used to define Run Time Settings. See Runtime Settings XML | |||||||||
Groups/Group/Scheduler | Required if schedule is by group. The sub-elements of the group scheduler are the same as for a global scheduler. See below, Scheduler/* . | |||||||||
Groups/Group/Script/ID | Script ID. | |||||||||
Groups/Group/Vusers | If the test is scheduled by scenario and the vusers distribution is by number, value is a positive integer. If the vusers distribution is by percentage or a Goal-Oriented Scheduler is used, value is 0-100. | |||||||||
LGDistribution/Amount | Required if LGDistribution/Type is all to each group . Non-negative integer. | |||||||||
LGDistribution/Type | Required. One of:
| |||||||||
Monitors over Firewall | Optional. A list of monitor over firewall IDs. | |||||||||
MonitorProfiles | Optional. List of Monitor Profiles attached to the test. | |||||||||
MonitorProfilles/MonitorProfile | Represents a single Monitor Profile. The contained element is:
| |||||||||
Runtime Collate Available in versions: 2022 and later | Optional. Results are collated during the course of the test run (true by default). | |||||||||
Scheduler | Global scheduler. The same element can appear under Groups/Group/Scheduler. Alternatively, you can use a goal-oriented scheduler. | |||||||||
Scheduler/Actions/Action [1..n] Scheduler actions are affected by the | An action contains exactly one element. The contained element is one of:
See descriptions of these elements in the following rows. | |||||||||
Scheduler/Actions/Action/Duration | The Duration
If the workload type is | |||||||||
Scheduler/Actions/Action/Duration /TimeInterval/Hours /TimeInterval/Minutes /TimeInterval/Seconds | The time interval. Non-negative integers. | |||||||||
Scheduler/Actions/Action/Initialize | Required once for every scheduler. Must be the first action in a global scheduler or the second action in a group scheduler. The Initialize
| |||||||||
Scheduler/Actions/Action/Initialize | The time interval. Non-negative integers. | |||||||||
Scheduler/Actions/Action/Initialize | The time to wait after initialization. Non-negative integers. | |||||||||
Scheduler/Actions/Action/StartGroup | Valid only if the test scheduler is set to by group. Each scheduler has only one definition for the StartGroup action. Cyclic start actions are invalid. For example, if group A starts after group B and group C starts after group B, group A cannot start after group C. The StartGroup
| |||||||||
Scheduler/Actions/Action/StartGroup | The time interval. Non-negative integers. | |||||||||
Scheduler/Actions/Action/StartGroup/Name | Any group name valid in LoadRunner. | |||||||||
Scheduler/Actions/Action/StartVusers | The StartVusers
Populate this element according to Workload type and the StartVusers type.
| |||||||||
Scheduler/Actions/Action/StopVusers | The StopVusers
Populate this element according to the Workload type and StopVusers type.
| |||||||||
SLA | Optional. Adds Service Level Agreement settings to a load test. Can include any of the following sub-elements:
You can only set SLA if the test has at least one group (script). The TransactionResponseTimePercentile sub-element cannot be sent together with the TransactionResponseTimeAverage element. See descriptions of these elements in the following rows, and in the example below (the TransactionResponseTimePercentile sub-element is displayed separately in Example: Define SLA with Transaction Response Time - Percentile). | |||||||||
SLA/TransactionResponseTimePercentile | Measures the percentage of transactions whose transaction response time falls below a specific threshold. | |||||||||
SLA/TransactionResponseTimeAverage | Measures whether the average transaction response time of the transactions over a specified time interval exceeds the defined threshold.
| |||||||||
SLA/ErrorsPerSecond | Measures whether the errors per second over a specified time interval exceed the defined threshold. For the list of | |||||||||
SLA/TotalHits | Measures whether the total number of hits over the whole test run reach the defined threshold. | |||||||||
SLA/AverageHitsPerSecond | Measures whether the average hits per seconds over the whole test run reach the defined threshold. | |||||||||
SLA/TotalThroughput | Measures whether the total throughput over the whole test run reaches the defined threshold. | |||||||||
SLA/AverageThroughput | Measures whether the average throughput over the whole test run reaches the defined threshold. | |||||||||
WorkloadType/SubType | Required for non "goal oriented" workload type. One of:
| |||||||||
WorkloadType/Type | Required. One of:
The workload type affects the If the workload type is If the workload type is | |||||||||
WorkloadType/VusersDistributionMode | Required if WorkloadType/SubType is
|

<Test xmlns="http://www.hp.com/PC/REST/API">
<Name>NVTest1</Name>
<TestFolderPath>Subject\IRENA</TestFolderPath>
<Content>
<WorkloadType>
<Type>basic</Type>
<SubType>by test</SubType>
<VusersDistributionMode>by number</VusersDistributionMode>
</WorkloadType>
<LGDistribution>
<Type>manual</Type>
</LGDistribution>
<MonitorProfiles>
<MonitorProfile>
<ID>1001</ID>
</MonitorProfile>
</MonitorProfiles>
<Groups>
<Group>
<Name>web</Name>
<Vusers>1</Vusers>
<Script>
<ID>1</ID>
</Script>
<Hosts>
<Host>
<Name>CLOUD1</Name>
<Type>cloud</Type>
<HostTemplateId>1</HostTemplateId>
</Host>
<Host>
<Name>DOCKER1</Name>
<Type>dynamic</Type>
</Host>
<Host>
<Name>DOCKER2</Name>
<Type>dynamic</Type>
</Host>
<Host>
<Name>Lab_machine_30559</Name>
<Type>specific</Type>
</Host>
</Hosts>
<RTS>
<Pacing>
<NumberOfIterations>1</NumberOfIterations>
<StartNewIterationType="immediately" />
</Pacing>
<ThinkTimeType="replay" />
<LogType="disable" />
</RTS>
</Group>
<Group>
<Name>some_jmeter_script</Name>
<Vusers>1</Vusers>
<Script>
<ID>1</ID>
</Script>
<Hosts>
<Host>
<Name>DOCKER1</Name>
<Type>dynamic</Type>
</Host>
<Host>
<Name>DOCKER2</Name>
<Type>dynamic</Type>
</Host>
<Host>
<Name>Lab_machine_30559</Name>
<Type>specific</Type>
</Host>
<Host>
<Name>LG1</Name>
<Type>automatch</Type>
</Host>
</Hosts>
<RTS>
<JMeter>
<StartMeasurements>true</StartMeasurements>
<JMeterHomePath>Some Path</JMeterHomePath>
<JMeterUseDefaultPort>false</JMeterUseDefaultPort>
<JMeterMinPort>5000</JMeterMinPort>
<JMeterMaxPort>5500</JMeterMaxPort>
</JMeter>
</RTS>
</Group>
</Groups>
<Scheduler>
<Actions>
<Action>
<InitializeType="just before vuser runs" />
</Action>
<Action>
<StartVusersType="simultaneously" />
</Action>
<Action>
<DurationType="until completion" />
</Action>
</Actions>
</Scheduler>
<AnalysisTemplate>
<ID>1001</ID>
</AnalysisTemplate>
<AutomaticTrending>
<ReportId>1</ReportId>
<MaxRunsInReport>19</MaxRunsInReport>
<TrendRangeType>CompleteRun</TrendRangeType>
<MaxRunsReachedOption>DoNotPublishAdditionalRuns</MaxRunsReachedOption>
</AutomaticTrending>
<MonitorsOFW>
<MonitorOFW>
<ID>1020</ID>
</MonitorOFW>
<MonitorOFW>
<ID>1021</ID>
</MonitorOFW>
</MonitorsOFW>
<SLA>
<TransactionResponseTimeAverage>
<LoadCriterion>running_vusers</LoadCriterion>
<LoadValues>
<LessThan>1</LessThan>
<Betweens>
<Between>
<From>1</From>
<To>25</To>
</Between>
<Between>
<From>25</From>
<To>50</To>
</Between>
<Between>
<From>50</From>
<To>75</To>
</Between>
</Betweens>
<GreaterThanOrEqual>75</GreaterThanOrEqual>
</LoadValues>
<Transactions>
<Transaction>
<Name>Action_Transaction</Name>
<Thresholds>
<LessThanThreshold>10</LessThanThreshold>
<BetweenThreshold>
<Threshold>40</Threshold>
<Threshold>30</Threshold>
<Threshold>40</Threshold>
</BetweenThreshold>
<GreaterThanOrEqualThreshold>50</GreaterThanOrEqualThreshold>
</Thresholds>
</Transaction>
<Transaction>
<Name>vuser_end_Transaction</Name>
<Thresholds>
<LessThanThreshold>10</LessThanThreshold>
<BetweenThreshold>
<Threshold>40</Threshold>
<Threshold>30</Threshold>
<Threshold>40</Threshold>
</BetweenThreshold>
<GreaterThanOrEqualThreshold>50</GreaterThanOrEqualThreshold>
</Thresholds>
</Transaction>
<Transaction>
<Name>vuser_init_Transaction</Name>
<Thresholds>
<LessThanThreshold>10</LessThanThreshold>
<BetweenThreshold>
<Threshold>40</Threshold>
<Threshold>30</Threshold>
<Threshold>40</Threshold>
</BetweenThreshold>
<GreaterThanOrEqualThreshold>50</GreaterThanOrEqualThreshold>
</Thresholds>
</Transaction>
</Transactions>
</TransactionResponseTimeAverage>
<ErrorsPerSecond>
<LoadCriterion>running_vusers</LoadCriterion>
<LoadValues>
<LessThan>1</LessThan>
<Betweens>
<Between>
<From>1</From>
<To>20</To>
</Between>
<Between>
<From>20</From>
<To>40</To>
</Between>
<Between>
<From>40</From>
<To>60</To>
</Between>
</Betweens>
<GreaterThanOrEqual>60</GreaterThanOrEqual>
</LoadValues>
<Thresholds>
<LessThanThreshold>5</LessThanThreshold>
<BetweenThreshold>
<Threshold>10</Threshold>
<Threshold>20</Threshold>
<Threshold>30</Threshold>
</BetweenThreshold>
<GreaterThanOrEqualThreshold>40</GreaterThanOrEqualThreshold>
</Thresholds>
</ErrorsPerSecond>
<TotalHits>
<Threshold>50</Threshold>
</TotalHits>
<AverageHitsPerSecond>
<Threshold>50</Threshold>
</AverageHitsPerSecond>
<TotalThroughput>
<Threshold>10</Threshold>
</TotalThroughput>
<AverageThroughput>
<Threshold>90</Threshold>
</AverageThroughput>
</SLA>
<Diagnostics>
<Enabled>false</Enabled>
<VusersPercentage>-1</VusersPercentage>
<EnableWebPage>false</EnableWebPage>
<J2EEDotNet>
<Enabled>false</Enabled>
<Probes />
<IsMediatorOFW>false</IsMediatorOFW>
<MonitorServerRequests>false</MonitorServerRequests>
</J2EEDotNet>
</Diagnostics>
<ElasticLoadGeneratorConfiguration>
<ImageId>1003</ImageId>
<MemoryLimit>4</MemoryLimit>
<CpuLimit>2</CpuLimit>
</ElasticLoadGeneratorConfiguration>
<IsRuntimeCollate>true</IsRuntimeCollate>
</Content>
</Test>

This example displays the TransactionResponseTimePercentile
sub-element only. You can define or update this sub-element under <Test>/<Content>
in the following way:
…
<SLA>
<TransactionResponseTimePercentile>
<Percentile>95</Percentile>
<Transactions>
<Transaction>
<Name>Action_Transaction</Name>
<Threshold>10</Threshold>
</Transaction>
<Transaction>
<Name>vuser_end_Transaction</Name>
<Threshold>12</Threshold>
</Transaction>
<Transaction>
<Name>vuser_init_Transaction</Name>
<Threshold>12</Threshold>
</Transaction>
</Transactions>
</TransactionResponseTimePercentile>
</SLA>
…

You can define or update global runtime settings (GlobalRTS
) and/or a command line (GlobalCommandLine
) under <Test>/<Content>
in the following way:
<Test xmlns="http://www.hp.com/PC/REST/API">
<Name>TESTNAME</Name>
<TestFolderPath>Subject\Tests</TestFolderPath>
<Content>
….
<GlobalRTS>
<RTS>
<Name>RTS1</Name>
<Pacing>
<NumberOfIterations>2</NumberOfIterations>
<StartNewIteration Type="random interval">
<DelayAtRangeOfSeconds>10</DelayAtRangeOfSeconds>
<DelayAtRangeToSeconds>20</DelayAtRangeToSeconds>
</StartNewIteration>
</Pacing>
<Log Type="extended">
<ParametersSubstituion>true</ParametersSubstituion>
<DataReturnedByServer>true</DataReturnedByServer>
<AdvanceTrace>true</AdvanceTrace>
<LogOptions Type="on error">
<CacheSize>4</CacheSize>
</LogOptions>
</Log>
<ThinkTime Type="random">
<MinPercentage>50</MinPercentage>
<MaxPercentage>150</MaxPercentage>
<LimitThinkTimeSeconds>10</LimitThinkTimeSeconds>
</ThinkTime>
</RTS>
<RTS>
<Name>RTS2</Name>
<Pacing>
<NumberOfIterations>2</NumberOfIterations>
<StartNewIteration Type="random interval">
<DelayAtRangeOfSeconds>10</DelayAtRangeOfSeconds>
<DelayAtRangeToSeconds>20</DelayAtRangeToSeconds>
</StartNewIteration>
</Pacing>
<Log Type="extended">
<ParametersSubstituion>true</ParametersSubstituion>
<DataReturnedByServer>true</DataReturnedByServer>
<AdvanceTrace>true</AdvanceTrace>
<LogOptions Type="on error">
<CacheSize>4</CacheSize>
</LogOptions>
</Log>
<ThinkTime Type="random">
<MinPercentage>50</MinPercentage>
<MaxPercentage>150</MaxPercentage>
<LimitThinkTimeSeconds>10</LimitThinkTimeSeconds>
</ThinkTime>
</RTS>
</GlobalRTS>
<GlobalCommandLine>
<CommandLine>
<Name>CMD1</Name>
<Value>Command line 1</Value>
</CommandLine>
<CommandLine>
<Name>CMD2</Name>
<Value>Command line 2</Value>
</CommandLine>
</GlobalCommandLine>
…
The GlobalRTS and/or GlobalCommandLine attributes should then be specified for the group(s) so that the group’s runtime settings and/or command line will be overwritten by the global ones:
<Groups>
<Group>
<Name>GROUPNAME</Name>
…
<GlobalCommandLine>CMD2</GlobalCommandLine>
<GlobalRTS>RTS1</GlobalRTS>
…
</Group>
</Groups>

An example of a scheduler for the number of vusers goal is provided below:
<Test xmlns="http://www.hp.com/PC/REST/API">
<Name>TESTNAME</Name>
<TestFolderPath>Subject\Tests</TestFolderPath>
<Content>
<WorkloadType>
<Type>goal oriented</Type>
</WorkloadType>
….
<GoalScheduler>
<GoalProfileName>GoalVusers30</GoalProfileName>
<GoalType>VirtualUsers</GoalType>
<GoalVirtualUsers>
<TargetVusersNumber>30</TargetVusersNumber>
</GoalVirtualUsers>
<DoNotChangeScriptThinkTime>true</DoNotChangeScriptThinkTime>
<ScenarioSettings>
<GoalCannotBeReachedAction>ContinueWithoutReaching</GoalCannotBeReachedAction>
<RunTimeAfterGoalAchieved>
<Minutes>30</Minutes>
</RunTimeAfterGoalAchieved>
<ReceiveNotification>true</ReceiveNotification>
</ScenarioSettings>
</GoalScheduler>
…
An example of a goal scheduler for the hits per second goal is provided below:
<Test xmlns="http://www.hp.com/PC/REST/API">
<Name>TESTNAME</Name>
<TestFolderPath>Subject\Tests</TestFolderPath>
<Content>
<WorkloadType>
<Type>goal oriented</Type>
</WorkloadType>
….
….
<GoalScheduler>
<GoalProfileName>HPS_100</GoalProfileName>
<GoalType>HitsPerSecond</GoalType>
<GoalHitsPerSecond>
<TargetHitsPerSecond>100</TargetHitsPerSecond>
<MinVusers>30</MinVusers>
<Maxusers>60</MaxVusers>
</GoalHitsPerSecond>
<ScenarioSettings>
<GoalCannotBeReachedAction>ContinueWithoutReaching</GoalCannotBeReachedAction>
<RunTimeAfterGoalAchieved>
<Minutes>30</Minutes>
</RunTimeAfterGoalAchieved>
</ScenarioSettings>
</GoalScheduler>
…
See Also