public class RandomEnumValueFunction extends Object implements Function
values
property of
an instance of this class. These two possibilities can only be used exclusively - either empty values
property and non-empty parameters or empty parameters and non-empty values property.
Example custom function definition and the corresponding usage in a test:
<bean id="myCustomFunctionLibrary" class="com.consol.citrus.functions.FunctionLibrary">
<property name="name" value="myCustomFunctionLibrary" />
<property name="prefix" value="custom:" />
<property name="members">
<map>
<entry key="randomHttpStatusCode">
<bean class="com.consol.citrus.functions.core.RandomEnumValueFunction">
<property name="values">
<list>
<value>200</value>
<value>500</value>
<value>401</value>
</list>
</property>
</bean>
</entry>
</map>
</property>
</bean>
and the corresponding usage which sets the httpStatusCode to one of the configured values - 200, 500 or 401:
<variable name="httpStatusCode" value="custom:randomHttpStatusCode()" />
The other usage possibility is to choose a random value from a list of values given as argument like this which achieves the same result as the previously shown custom function:
<variable name="httpStatusCode" value="citrus:randomEnumValue('200', '401', '500')" />
You should choose which one of the two flavours to use based on the number of times you use this function - if you need it in
only one special case you may go with specifying the list as arguments otherwise you should define a custom function and reuse it.Constructor and Description |
---|
RandomEnumValueFunction() |
Modifier and Type | Method and Description |
---|---|
String |
execute(List<String> params,
TestContext context)
Method called on execution.
|
List<String> |
getValues() |
protected String |
randomValue(List<String> values)
Pseudo-randomly choose one of the supplied values and return it.
|
void |
setValues(List<String> values) |
public String execute(List<String> params, TestContext context)
Function
execute
in interface Function
params
- list of function arguments.Function.execute(java.util.List, com.consol.citrus.context.TestContext)
protected String randomValue(List<String> values)
values
- IllegalArgumentException
- if the values supplied are null
or an empty list.Copyright © 2008–2017 ConSol Software GmbH. All rights reserved.