This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Processors

Processors can work either as consumers of input bytes (e.g. storing part of the input into session variables), as filters (passing modified version of the input to delegated processors) or combination of the above.

Some processors can expect extra context in the session, such as an ongoing (HTTP) request. It is possible to use processors that don’t expect specific type of request in places where a more specific type is provided; opposite is not allowed.

Also it is possible to use an action instead of a processor; Hyperfoil automatically inserts an adapter. That’s why the list below includes actions as well.

1 - addItem

Appends value to an array stored in another variable.

Appends value to an array stored in another variable.

PropertyTypeDescription
fromVarStringFetch value from session variable.
toVarStringDestination variable with the array.
valueStringVerbatim value.

2 - addToInt

Add value to integer variable in the session.

Add value to integer variable in the session.

Inline definition
Accepting one of: var++, var–, var += value, var -= value.
PropertyTypeDescription
orElseSetTointIf the variable is currently not set, set it to this value instead of addition.
valueintValue added (can be negative).
varStringVariable name.

3 - addToSharedCounter

Adds value to a counter shared by all sessions in the same executor.

Adds value to a counter shared by all sessions in the same executor.

Inline definition
Use on of: counter++, counter–, counter += <value>,
counter -= <value>
PropertyTypeDescription
fromVarStringInput variable name.
keyStringIdentifier for the counter.
operatorenumOperation to perform on the counter. Default is ADD.
Options:
  • ADD
  • SUBTRACT
valueintValue (integer).

4 - array

Stores data in an array stored as session variable.

Stores data in an array stored as session variable.

Inline definition
Use format toVar[maxSize].
PropertyTypeDescription
formatenumFormat into which should this processor convert the buffers before storing. Default is STRING.
Options:
  • BYTEBUFStore the buffer directly. Beware that this may cause memory leaks!
  • BYTESStore data as byte array.
  • STRINGInterprets the bytes as UTF-8 string.
maxSizeintMaximum size of the array.
silentbooleanDo not log warnings when the maximum size is exceeded.
toVarStringVariable name.

5 - clearHttpCache

Drops all entries from HTTP cache in the session.

Drops all entries from HTTP cache in the session.

6 - closeConnection

Prevents reuse connection after the response has been handled.

Prevents reuse connection after the response has been handled.

7 - collection

Collects results of processor invocation into a unbounded list.

Collects results of processor invocation into a unbounded list.
WARNING: This processor should be used rarely as it allocates memory during the benchmark.

Inline definition
Variable name to store the list.
PropertyTypeDescription
formatenumFormat into which should this processor convert the buffers before storing. Default is STRING.
Options:
  • BYTEBUFStore the buffer directly. Beware that this may cause memory leaks!
  • BYTESStore data as byte array.
  • STRINGInterprets the bytes as UTF-8 string.
toVarStringVariable name.

8 - conditional

Passes the data to nested processor if the condition holds.

Passes the data to nested processor if the condition holds.
Note that the condition may be evaluated multiple times and therefore any nested processors should not change the results of the condition.

PropertyTypeDescription
allConditionsBuilderCondition combining multiple other conditions with ‘AND’ logic.
boolConditionBuilderCondition comparing boolean variables.
intConditionBuilderCondition comparing integer variables.
processorProcessor.BuilderOne or more processors that should be invoked if the condition holds.
stringConditionBuilderCondition comparing string variables.

allConditions

Test more conditions and combine the results using AND logic.

PropertyTypeDescription
<list of mappings><list of builders>List of conditions.

allConditions.<list of mappings>

Selector for condition type.

PropertyTypeDescription
allConditionsBuilderCondition combining multiple other conditions with ‘AND’ logic.
boolConditionBuilderCondition comparing boolean variables.
intConditionBuilderCondition comparing integer variables.
stringConditionBuilderCondition comparing string variables.

allConditions.<list of mappings>.allConditions

Test more conditions and combine the results using AND logic.

PropertyTypeDescription
<list of mappings><list of builders>List of conditions.

allConditions.<list of mappings>.boolCondition

Tests session variable containing boolean value.

PropertyTypeDescription
fromVarStringVariable name.
valuebooleanExpected value.

allConditions.<list of mappings>.intCondition

Condition comparing integer in session variable.

Inline definition
Parses condition in the form <variable> <operator> <value>
where operator is one of: ==, !=,
<> (the same as !=),
>=, >, <=, <.
PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
fromVarObjectVariable name.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

allConditions.<list of mappings>.stringCondition

Condition comparing string in session variable.

PropertyTypeDescription
caseSensitivebooleanTrue if the case must match, false if the check is case-insensitive.
endsWithCharSequenceSuffix for the string.
equalToCharSequenceLiteral value the string should match (the same as {@link #value}).
fromVarObjectVariable name.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lengthintCheck the length of the string.
length (alternative)BuilderCheck the length of the string.
matchVarStringFetch the value from a variable.
negatebooleanInvert the logic of this condition. Defaults to false.
notEqualToCharSequenceValue that the string must not match.
startsWithCharSequencePrefix for the string.
valueCharSequenceLiteral value the string should match.

boolCondition

Tests session variable containing boolean value.

PropertyTypeDescription
fromVarStringVariable name.
valuebooleanExpected value.

intCondition

Condition comparing integer in session variable.

Inline definition
Parses condition in the form <variable> <operator> <value>
where operator is one of: ==, !=,
<> (the same as !=),
>=, >, <=, <.
PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
fromVarObjectVariable name.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

intCondition.equalTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.greaterOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.greaterThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.lessOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.lessThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.notEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition

Condition comparing string in session variable.

PropertyTypeDescription
caseSensitivebooleanTrue if the case must match, false if the check is case-insensitive.
endsWithCharSequenceSuffix for the string.
equalToCharSequenceLiteral value the string should match (the same as {@link #value}).
fromVarObjectVariable name.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lengthintCheck the length of the string.
length (alternative)BuilderCheck the length of the string.
matchVarStringFetch the value from a variable.
negatebooleanInvert the logic of this condition. Defaults to false.
notEqualToCharSequenceValue that the string must not match.
startsWithCharSequencePrefix for the string.
valueCharSequenceLiteral value the string should match.

stringCondition.length

PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

stringCondition.length.equalTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.greaterOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.greaterThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.lessOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.lessThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.notEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

9 - count

Records number of parts this processor is invoked on.

Records number of parts this processor is invoked on.

Inline definition
Name of variable for the number of occurrences.
PropertyTypeDescription
toVarStringVariable where to store number of occurrences.

10 - fail

Fail the phase with given message. Used mostly for testing/debugging.

Fail the phase with given message. Used mostly for testing/debugging.

Inline definition
Message to fail with (unconditionally).
PropertyTypeDescription
allConditionsBuilderCondition combining multiple other conditions with ‘AND’ logic.
boolConditionBuilderCondition comparing boolean variables.
intConditionBuilderCondition comparing integer variables.
messageStringMessage attached to the failure exception.
stringConditionBuilderCondition comparing string variables.

allConditions

Test more conditions and combine the results using AND logic.

PropertyTypeDescription
<list of mappings><list of builders>List of conditions.

allConditions.<list of mappings>

Selector for condition type.

PropertyTypeDescription
allConditionsBuilderCondition combining multiple other conditions with ‘AND’ logic.
boolConditionBuilderCondition comparing boolean variables.
intConditionBuilderCondition comparing integer variables.
stringConditionBuilderCondition comparing string variables.

allConditions.<list of mappings>.allConditions

Test more conditions and combine the results using AND logic.

PropertyTypeDescription
<list of mappings><list of builders>List of conditions.

allConditions.<list of mappings>.boolCondition

Tests session variable containing boolean value.

PropertyTypeDescription
fromVarStringVariable name.
valuebooleanExpected value.

allConditions.<list of mappings>.intCondition

Condition comparing integer in session variable.

Inline definition
Parses condition in the form <variable> <operator> <value>
where operator is one of: ==, !=,
<> (the same as !=),
>=, >, <=, <.
PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
fromVarObjectVariable name.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

allConditions.<list of mappings>.stringCondition

Condition comparing string in session variable.

PropertyTypeDescription
caseSensitivebooleanTrue if the case must match, false if the check is case-insensitive.
endsWithCharSequenceSuffix for the string.
equalToCharSequenceLiteral value the string should match (the same as {@link #value}).
fromVarObjectVariable name.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lengthintCheck the length of the string.
length (alternative)BuilderCheck the length of the string.
matchVarStringFetch the value from a variable.
negatebooleanInvert the logic of this condition. Defaults to false.
notEqualToCharSequenceValue that the string must not match.
startsWithCharSequencePrefix for the string.
valueCharSequenceLiteral value the string should match.

boolCondition

Tests session variable containing boolean value.

PropertyTypeDescription
fromVarStringVariable name.
valuebooleanExpected value.

intCondition

Condition comparing integer in session variable.

Inline definition
Parses condition in the form <variable> <operator> <value>
where operator is one of: ==, !=,
<> (the same as !=),
>=, >, <=, <.
PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
fromVarObjectVariable name.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

intCondition.equalTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.greaterOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.greaterThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.lessOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.lessThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.notEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition

Condition comparing string in session variable.

PropertyTypeDescription
caseSensitivebooleanTrue if the case must match, false if the check is case-insensitive.
endsWithCharSequenceSuffix for the string.
equalToCharSequenceLiteral value the string should match (the same as {@link #value}).
fromVarObjectVariable name.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lengthintCheck the length of the string.
length (alternative)BuilderCheck the length of the string.
matchVarStringFetch the value from a variable.
negatebooleanInvert the logic of this condition. Defaults to false.
notEqualToCharSequenceValue that the string must not match.
startsWithCharSequencePrefix for the string.
valueCharSequenceLiteral value the string should match.

stringCondition.length

PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

stringCondition.length.equalTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.greaterOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.greaterThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.lessOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.lessThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.notEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

11 - getIndex

Lookup index of an item in an array/collection.

Lookup index of an item in an array/collection.

PropertyTypeDescription
collectionStringVariable to fetch the collection from.
itemBuilderItem that should be looked up (using equality).
toVarStringInteger variable to store the index, or -1 if the item is not found.

item

Inline definition
Verbatim value.
PropertyTypeDescription
fromVarStringFetch value from session variable.
valueStringVerbatim value.

12 - getItem

Retrieves n-th item from an array or collection.

Retrieves n-th item from an array or collection.

PropertyTypeDescription
fromVarStringSource variable with an array or list.
indexBuilderSource for index into the array/list.
toVarStringDestination variable for the n-th element.

index

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

13 - getSharedCounter

Retrieves value from a counter shared by all sessions in the same executor and stores that in a session variable.

Retrieves value from a counter shared by all sessions in the same executor and stores that in a session variable.
If the value exceeds allowed integer range (-2^31 .. 2^31 - 1) it is capped.

Inline definition
Both the key and variable name.
PropertyTypeDescription
keyStringIdentifier for the counter.
toVarStringSession variable for storing the value.

14 - getSize

Calculates size of an array/collection held in variable into another variable

Calculates size of an array/collection held in variable into another variable

PropertyTypeDescription
boolFilterBuilderCount only items matching the condition.
fromVarStringVariable holding the collection.
intFilterBuilderCount only items matching the condition.
stringFilterBuilderCount only items matching the condition.
toVarStringVariable storing the size.
undefinedValueintValue to use when fromVar is unset or it does not contain any array/collection.

boolFilter

PropertyTypeDescription
valuebooleanExpected value.

intFilter

PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

intFilter.equalTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intFilter.greaterOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intFilter.greaterThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intFilter.lessOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intFilter.lessThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intFilter.notEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringFilter

PropertyTypeDescription
caseSensitivebooleanTrue if the case must match, false if the check is case-insensitive.
endsWithCharSequenceSuffix for the string.
equalToCharSequenceLiteral value the string should match (the same as {@link #value}).
lengthintCheck the length of the string.
length (alternative)BuilderCheck the length of the string.
matchVarStringFetch the value from a variable.
negatebooleanInvert the logic of this condition. Defaults to false.
notEqualToCharSequenceValue that the string must not match.
startsWithCharSequencePrefix for the string.
valueCharSequenceLiteral value the string should match.

stringFilter.length

PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

stringFilter.length.equalTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringFilter.length.greaterOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringFilter.length.greaterThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringFilter.length.lessOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringFilter.length.lessThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringFilter.length.notEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

15 - gzipInflator

Decompresses a GZIP data and pipes the output to delegated processors.

Decompresses a GZIP data and pipes the output to delegated processors.
If the data contains multiple concatenated GZIP streams it will pipe multiple decompressed objects with isLastPart set to true at the end of each stream.

PropertyTypeDescription
encodingVarObjectVariable used to pass header value from header handlers.
processorProcessor.BuilderAdd one or more processors.

16 - json

Parses JSON responses using simple queries.

Parses JSON responses using simple queries.

PropertyTypeDescription
deletebooleanIf this is set to true, the selected key will be deleted from the JSON and the modified JSON will be passed to the processor.
formatenumConversion to apply on the matching parts with ’toVar’ or ’toArray’ shortcuts.
Options:
  • BYTEBUFStore the buffer directly. Beware that this may cause memory leaks!
  • BYTESStore data as byte array.
  • STRINGInterprets the bytes as UTF-8 string.
processorProcessor.BuilderAdd one or more processors.
processor (alternative)Processor.BuilderIf neither delete or replace was set this processor will be called with the selected parts. In the other case the processor will be called with chunks of full (modified) JSON.

Note that the processor.before() and processor.after() methods are called only once for each request, not for the individual filtered items.

queryStringQuery selecting the part of JSON.
replaceTransformer.BuilderCustom transformation executed on the value of the selected item. Note that the output value must contain quotes (if applicable) and be correctly escaped.
replace (alternative)StringReplace value of selected item with value generated through a pattern. Note that the result must contain quotes and be correctly escaped.
toArrayStringShortcut to store selected parts in an array in the session. Must follow the pattern variable[maxSize]
toVarStringShortcut to store first match in given variable. Further matches are ignored.
unquotebooleanAutomatically unquote and unescape the input values. By default true.

replace

Custom transformation executed on the value of the selected item. Note that the output value must contain quotes (if applicable) and be correctly escaped.

PropertyTypeDescription
actionsActionsTransformer.BuilderThis transformer stores the (defragmented) input into a variable, using requested format. After that it executes all the actions and fetches transformed value using the pattern.
patternPattern.TransformerBuilderUse pattern replacing session variables.

replace.actions

This transformer stores the (defragmented) input into a variable, using requested format. After that it executes all the actions and fetches transformed value using the pattern.

PropertyTypeDescription
actionsAction.BuilderActions to be executed.
formatenumFormat into which should this transformer convert the buffers before storing. Default is STRING.
Options:
  • BYTEBUFStore the buffer directly. Beware that this may cause memory leaks!
  • BYTESStore data as byte array.
  • STRINGInterprets the bytes as UTF-8 string.
patternStringPattern to use when fetching the transformed value.
varStringVariable used as the intermediate storage for the data.

replace.pattern

Use pattern replacing session variables.

Inline definition
The pattern formatting string.
PropertyTypeDescription
patternStringUse pattern replacing session variables.

17 - log

Log a message and variable values.

Log a message and variable values.

Inline definition
A pattern for string interpolation.
PropertyTypeDescription
messageStringMessage format pattern. Use string interpolation for variables.

18 - logInvalid

Logs body chunks from requests marked as invalid.

Logs body chunks from requests marked as invalid.

19 - markRequestInvalid

Unconditionally mark currently processed request as invalid.

Unconditionally mark currently processed request as invalid.

20 - newSequence

Instantiates a sequence for each invocation.

Instantiates a sequence for each invocation.

Inline definition
Sequence name.
PropertyTypeDescription
concurrencyPolicyenum
Options:
  • FAIL
  • WARN
forceSameIndexbooleanForces that the sequence will have the same index as the currently executing sequence. This can be useful if the sequence is passing some data to the new sequence using sequence-scoped variables. Note that the new sequence must have same concurrency factor as the currently executing sequence.
sequenceStringName of the instantiated sequence.

21 - parseHtml

Parses HTML tags and invokes handlers based on criteria.

Parses HTML tags and invokes handlers based on criteria.

PropertyTypeDescription
onEmbeddedResourceBuilderHandler firing upon reference to other resource, e.g. image, stylesheet…
onTagAttributeBuilder<no description>

onEmbeddedResource

Handles <img src="…">, <link href="…">, <embed src="…">, <frame src="…">, <iframe src="…">, <object data="…"> and <script src="…">.

Does not handle <source src="…"> or <track src="…"> because browser would choose only one of the options.

PropertyTypeDescription
fetchResourceBuilderAutomatically download referenced resource.
ignoreExternalbooleanIgnore resources hosted on servers that are not covered in the http section.
processorProcessor.BuilderAdd one or more processors.
processor (alternative)Processor.BuilderCustom processor invoked pointing to attribute data - e.g. in case of <img> tag the processor gets contents of the src attribute.

onEmbeddedResource.fetchResource

Automates download of embedded resources.

PropertyTypeDescription
concurrencyintMaximum number of resources fetched concurrently. Default is 8.
maxResourcesintMaximum number of resources that can be fetched.
metric<list of strings>Metrics selector for downloaded resources.
onCompletionAction.BuilderAction performed when the download of all resources completes.

onEmbeddedResource.fetchResource.metric

Metrics selector for downloaded resources.

PropertyTypeDescription
<list of strings><list of strings>Allows categorizing request statistics into metrics based on the request path. The expressions are evaluated in the order as provided in the list. Use one of:
  • regexp -> replacement, e.g. ([^?])(?.)? -> $1 to drop the query part.
  • regexp (don’t do any replaces and use the full path), e.g. .*.jpg
  • -> name (metric applied if none of the previous expressions match).

onTagAttribute

PropertyTypeDescription
attributeStringName of the attribute in this element you want to process, e.g. action
formatenumConversion to apply on the matching parts with ’toVar’ or ’toArray’ shortcuts.
Options:
  • BYTEBUFStore the buffer directly. Beware that this may cause memory leaks!
  • BYTESStore data as byte array.
  • STRINGInterprets the bytes as UTF-8 string.
processorProcessor.BuilderAdd one or more processors.
tagStringName of the tag this handler should look for, e.g. form
toArrayStringShortcut to store selected parts in an array in the session. Must follow the pattern variable[maxSize]
toVarStringShortcut to store first match in given variable. Further matches are ignored.

22 - publishAgentData

Makes the data available to all sessions in the same agent, including those using different executors.

Makes the data available to all sessions in the same agent, including those using different executors.

Inline definition
Both name of source variable and the key used to read the data.
PropertyTypeDescription
fromVarStringSource session variable name.
nameStringArbitrary unique identifier for the data.

23 - publishGlobalCounters

Gathers values from session variables and publishes them globally (to all agents).

Gathers values from session variables and publishes them globally (to all agents).
You can name the counters individually (example 1) or use the variable names (example 2):

# Example 1:
- publishGlobalCounters:
    key: myKey
    vars: [ foo, bar ]
# Example 2:
- publishGlobalCounters:
    key: someOtherKey
    vars:
    - foo: myFoo
    - bar: bbb
</code>```


| Property | Type | Description |
| ------- | ------- | -------- |
| key | String | Identifier of the global record. |
| vars | [Builder](#vars) | List of names and session variables. |

### vars

| Property | Type | Description |
| ------- | ------- | ------- |
| &lt;any&gt; | &lt;unknown&gt; | <font color="#606060">&lt;no description&gt;</font> |
| &lt;list of strings&gt; | &lt;unknown&gt; | <font color="#606060">&lt;no description&gt;</font> |

24 - queue

Stores defragmented data in a queue.

Stores defragmented data in a queue.
For each item in the queue a new sequence instance will be started (subject the concurrency constraints) with sequence index that allows it to read an object from an array using sequence-scoped access.

PropertyTypeDescription
concurrencyintMaximum number of started sequences that can be running at one moment.
formatenumConversion format from byte buffers. Default format is STRING.
Options:
  • BYTEBUFStore the buffer directly. Beware that this may cause memory leaks!
  • BYTESStore data as byte array.
  • STRINGInterprets the bytes as UTF-8 string.
maxSizeintMaximum number of elements that can be stored in the queue.
onCompletionAction.BuilderCustom action that should be performed when the last consuming sequence reports that it has processed the last element from the queue. Note that the sequence is NOT automatically augmented to report completion.
sequenceStringName of the started sequence.
varStringVariable storing the array that it used as a output object from the queue.

25 - readAgentData

Reads data from agent-wide scope into session variable.

Reads data from agent-wide scope into session variable.
The data must be published in a phase that has terminated before this phase starts: usually this is achieved using the startAfterStrict property on the phase.

Inline definition
Both the identifier and destination session variable.
PropertyTypeDescription
nameStringUnique identifier for the data.
toVarStringDestination session variable name.

26 - removeItem

Removes element from an array of variables.

Removes element from an array of variables.

PropertyTypeDescription
fromVarStringVariable containing an existing array of object variables.
indexBuilderSet index at which the item should be removed. Elements to the right of this are moved to the left.

index

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

27 - restartSequence

Schedules a restart of this sequence.

Schedules a restart of this sequence.

28 - set

Set variable in session to certain value.

Set variable in session to certain value.

Inline definition
Use var <- value.
PropertyTypeDescription
intArrayBuilderSet variable to an (unset) integer array.
objectArrayBuilderSet variable to an (unset) object array.
valueStringString value.
varStringVariable name.

intArray

Creates integer arrays to be stored in the session.

PropertyTypeDescription
fromVarStringContents of the new array. If the variable contains an array or a list, items will be copied to the elements with the same index up to the size of this array. If the variable contains a different value all elements will be initialized to this value.
sizeintSize of the array.

objectArray

Creates object arrays to be stored in the session.

PropertyTypeDescription
fromVarStringContents of the new array. If the variable contains an array or a list, items will be copied to the elements with the same index up to the size of this array. If the variable contains a different value all elements will be initialized to this value.
sizeintSize of the array.

29 - setInt

Set session variable to an integral value.

Set session variable to an integral value.

Inline definition
Use var <- value.
PropertyTypeDescription
fromVarStringInput variable name.
intConditionBuilderSet variable only if the current value satisfies certain condition.
maxBuilderSet to value that is the maximum of this list of values.
minBuilderSet to value that is the minimum of this list of values.
onlyIfNotSetbooleanSet variable to the value only if it is not already set.
valueintValue (integer).
varStringVariable name.

intCondition

PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

intCondition.equalTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.greaterOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.greaterThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.lessOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.lessThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.notEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

max

PropertyTypeDescription
<list of mappings><list of builders><no description>

max.<list of mappings>

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

min

PropertyTypeDescription
<list of mappings><list of builders><no description>

30 - setItem

Set element in a collection on given position.

Set element in a collection on given position.

PropertyTypeDescription
fromVarStringFetch value from session variable.
indexBuilderInteger session variable with an index into the collection.
toVarStringSession variable with the collection.
valueStringVerbatim value.

index

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

31 - setSharedCounter

Sets value in a counter shared by all sessions in the same executor.

Sets value in a counter shared by all sessions in the same executor.

Inline definition
Both the name of the counter and variable name.
PropertyTypeDescription
fromVarStringInput variable name.
keyStringIdentifier for the counter.
valueintValue (integer).

32 - store

Stores data in a session variable (overwriting on multiple occurences).

Stores data in a session variable (overwriting on multiple occurences).

Inline definition
Variable name.
PropertyTypeDescription
formatenumFormat into which should this processor convert the buffers before storing. Default is STRING.
Options:
  • BYTEBUFStore the buffer directly. Beware that this may cause memory leaks!
  • BYTESStore data as byte array.
  • STRINGInterprets the bytes as UTF-8 string.
toVarObjectVariable name.

33 - storeInt

Converts buffers into integral value and stores it in a variable.

Converts buffers into integral value and stores it in a variable.

Inline definition
Name of integer variable where to store the value.
PropertyTypeDescription
overridebooleanAllow the value to be set multiple times (last write wins). Defaults to false.
toVarStringName of variable where to store the integral value.

34 - stringToInt

Parse string into integer and store it in a variable.

Parse string into integer and store it in a variable.

If the parsing fails the target variable is not modified.

Inline definition
Use fromVar -&gt; toVar
PropertyTypeDescription
fromVarStringSource variable name.
toVarStringTarget variable name.

35 - unset

Undefine variable name.

Undefine variable name.

Inline definition
Variable name.
PropertyTypeDescription
varObjectVariable name.