Parameters of the Function generator
After you add the Function generator in a field of a Data definition, you can customize the existing configurations of the field.
When you click the Function generator of a specific field in the Data definition in the Edit branch, the unique parameters of the Function generator that contains the existing configuration details for that field are displayed in the Function dialog.
The following table provides the list of UI elements of the Function dialog with their default parameters, and the actions that you can perform in the dialog to customize the parameters for the selected field:
UI element | Description | Default feature | Action |
---|---|---|---|
The Generator field | Displays the name of the selected generator, that is, Function. | The name is not editable. | NA |
The Distribution field | Determines if the values are randomly generated or not in the function column of the test data. Contains the Random option. | The Random option is selected. |
|
The Duplicates field | Determines if duplicate or unique function values are present in the generated data. Contains the Allowed option. | The Allowed option is selected. |
|
The Blank percentage field | Determines the frequency of blank function values in the generated data. | Displays 0 and is editable. | Enter a number from 0 to 100. For example, if you enter 10, approximately 10% of the function values in the generated data will be blank. |
The Name field | Displays the custom name of the selected configuration. | Displays Default and is editable. | Enter an identifiable name to the selected configuration, if required. |
The Percentage field | Determines the proportion of the generated function values when you do not select the Random option. | Editable when Random is not selected. | If you did not select the Random option for distribution, enter a number from 0 to 100 in the Percentage field to set the percentage of function values to be generated. For example, if you enter 50, the generated data will display the function column with a 50% occurrence rate. |
The Function section | Determines the additional details about the function for the selected configuration. | NA | Provide information about the function for the selected configuration. For more details about the section, see The Function section. |
The Add new configuration tab | You can add additional function configurations with specific components and settings, if required. |
|
Click the tab and then add the required components for the additional configuration. For example, you can have one configuration for uppercase names with a 30% distribution and another configuration for lowercase names with a 70% distribution. You can similarly customize the values, distribution, and percentage as required. Note: You can click the delete icon to delete any additional configuration that you do not
need.
|
The Save to catalog option | After the customization of the Function generator is complete, you can use the Function generator as the base generator to create a new custom generator. | NA |
Click the Save to catalog icon . You can reuse the same configuration at a later time in different scenarios without having to set it up again from scratch. See Creating custom generators and categories from Data definitions. |
The preview icon | The preview icon is available for each configuration of a generator. | NA | Click the preview icon to view the sample test data for the selected configuration of a generator. |
The close icon | NA | NA | Click the icon to exit the Function generator dialog. |
The Function section
You can add additional details about the function for a selected configuration in the Function section of the Function dialog. The following table provides the list of UI elements of the section with their description, default features, and actions that you can perform in the section to customize the configuration:
UI element | Description | Default feature | Action |
---|---|---|---|
The Function field | Combines the built-in methods and the Data definition fields to create custom functions. | Empty |
You can either enter a function or select values from the Fields and Methods scroll areas to create a function. |
The Items for function field | Finds matching results in both the Methods and Fields scroll areas based on the entered text. | NA | You can type a few letters in the Items for function field, and matching results from both the Methods and Fields scroll areas will be displayed. |
The Methods scroll area | Displays predefined Java methods that you can use to perform specific operations on entity fields within the function. | NA |
When you double-click on an available method, the corresponding parameter is added to the Function field. When you hover over a method in the scroll area, the corresponding function, description, and example are displayed. The Data fabrication feature of HCL DevOps Test Hub (Test Hub) supports a variety of built-in methods. See The supported built-in methods. |
The Fields scroll area | Displays the names of all the fields used in the Data definition. You can double-click a field to add it to the Function field and incorporate it into the custom function. | NA | When you double-click an item in the Fields scroll area, the corresponding parameter is added to the Function field. |
The supported built-in methods
The Data fabrication feature of Test Hub supports a variety of built-in methods. The following table provides the list of built-in methods, their description, and relevant examples that you can use as functions:
Method | Description | Example |
---|---|---|
replace(oldString, newString) |
Replaces all occurrences of the old string with the new string | F$address.replace('road', 'street') |
format(formatString, args) |
Returns a formatted string using format string and arguments | String.format('Hello %s', F$name) |
split(matchString) |
Splits the string around the given matching string |
|
join(delimiter, stringElements) |
Joins string elements by a delimiter. | String.join(',', F$id, F$name) |
length() |
Returns the length of the string | F$name.length |
isBlank() |
Returns True only if the string has zero length or contains only white spaces | F$address.isBlank |
trim() |
Removes leading and trailing spaces of the string | F$phone.trim |
toUpperCase() |
Converts all characters into uppercase | F$name.toUpperCase |
toLowerCase() |
Converts all characters into lowercase | F$name.toLowerCase |
concat |
Concatenates the specified string to the end of the selected string | 'Hello '.concat(F$name) |