Create or Modify Extensions Overview
Functionize Extensions, or microservice endpoints, provide limitless control over test executions by exposing the runtime object model. Users can manipulate input values, files, and more, allowing customization. These endpoints process test steps independently, altering values and execution outcomes.
- Go to the User Profile dropdown menu
-
Click on Extension Management
-
From here a user can create and modify Internal and External Extensions
Create an Internal Extension
- Click the Create Extension button
- Select Internal from Type drop-down
- Enter the Extension Name, and the Function to Execute defaults to 'helloWorld' but is just the starting point for the program to run, this function name can be updated, if desired
- Select the Privacy of the extension being created, which can be set to Private (only for the creator) or for the entire Team, accessible across projects
-
The sample code provided includes a toLowerCase function, which would update all inputs to lowercase
Note: The specific format required, which includes: 'updates,' 'action,' 'attributes,' 'value.'
- Update the code to perform any desired action for a give use case, the user may also update the Package.Json for a Node JS program, and similar changes can be made for Go, Python, and Java programs and input and response interfaces can be found below in this documentation
- Click the Confirm button
- The new Internal Extension will appear in the list
Create an External Extension
-
Click the Create Extension button
- Select the Type External Extension
- Input the Name of the Extension, this must be AlphaNumeric
- Input the POST End Point for your API, this endpoint must follow identical guidelines for input and output parameters as Internal Extensions
- Click the Confirm button
-
The new External Extension will appear in the list
Test your Extension
Internal and External Extensions are tested in the same way.
Run Parameters Body examples and supported fields can be found in the User Guide: Extension Samples.
-
Click an Extension to open a testing model
- Add various inputs to the Extension to make sure it works in the Action Types (Inputs, Clicks, etc) as expected, and then click Run
-
The output will be returned:
Delete an Extension
Extensions can be unmapped from an action via the Mapping dialog noted in the User Guide here. Also, Extensions can be completely deleted from Functionize on the Extension Management page.
- Click on Delete icon
-
Confirm the deletion
Note: Deleting Extensions that are mapped in a test case, will delete the existing mappings.