Functionize is designed to be a no-code test automation platform, but it also provides powerful built-in features for handling dynamic data, flexible validations, and advanced text checks. Two key tools for this are Operators and Regular Expressions (regex).
- Operators let you write conditions in plain English, making it easy to test values, ranges, and even reference values from earlier steps in the same test.
- Regular Expressions (regex) allow for more advanced text pattern matching when precise or variable validations are required.
Together, these features allow Functionize users to test complex scenarios without writing custom scripts.
Functionize Operators
Operators extend the capabilities of Verify Actions by allowing flexible comparisons and conditions. They are designed to handle almost limitless scenarios, from verifying text values to validating number ranges or reusing values from earlier steps.
How Operators Work
- Written in plain English (no code or symbols required).
- Can be applied to most Verify Actions in Architect.
- Work with both static values (hard-coded text/numbers) and dynamic values (values from earlier steps).
Common Comparison Operators
| Operator | Use Case | Example |
is equal to | Checks if the element’s value fully matches the expected value. | Verify the button text equals Save and Continue. |
is strictly equal to | Full match required, including leading/trailing spaces. | Verify an input value strictly equals Save and Continue. |
is not equal to | Validates that the element’s value does not match. | Verify the calendar header is not empty. |
is strictly not equal to | Same as Not Equals, but considers leading/trailing spaces. | Verify an input value strictly does not equal Save and Continue. |
contains | Confirms that part of an element’s value is present (commonly used with dynamic text). | Verify the full name field contains text characters. |
does not contain | Confirms that part of an element’s value is not present. | Verify a message does not contain a specific error. |
less than integer value | Ensures the value is numerically less than a given value. | Verify benefits premium is less than 3000. |
greater than integer value | Ensures the value is numerically greater than a given value. | Verify employee count is greater than 5. |
less than or equals integer value | Ensures the value is less than or equal to a given number. | Verify financial calculator result is greater than or equal to 62.5. |
greater than or equals integer value | Ensures the value is greater than or equal to a given number. | Verify image carousel count is greater than or equal to 7. |
lies within the integer value range | Confirms the value falls between a defined lower (inclusive) and upper (exclusive) limit. | Verify page transition time is between 2 and 5 seconds. |
Common Step-to-Step Operators
Operators can also reference values from previous steps. This is useful for validating that values carry through across your test flow.
| Operator | Use Case | Example |
equals value from test step | Value matches exactly with a previous step’s value. | Verify shopping cart item equals value from Step 2. |
strictly equals value from test step | Matches exactly (including whitespace) with a previous step. | Verify input value strictly equals Step 2. |
not equals value from test step | Value does not equal the value from a previous step. | Verify username does not equal Step 5. |
strictly not equals value from test step | Same as above but considers whitespace. | Verify input value strictly does not equal Step 2. |
contains value from test step | Value contains the full value of a previous step. | Verify button text contains Step 15’s value. |
Regular Expressions (Regex)
For even more precision, Functionize supports regex patterns in Architect. Regex is especially useful for:
- Flexible text matching, especially to handle dynamic content
- Validating optional or variable elements (e.g., optional fields or spelling variations)
- Handling multiple possible values
- Combining with variables to validate unique or complex scenarios
Common Regex Patterns
| Pattern | Use Case | Example |
Vertical bar: | | Matches one option or another. | 0|1 → Matches values zero or one, but no others. |
Parentheses: ( ) | Groups multiple options. | Yes (I|we|they) agree → Verify text contains “Yes I agree”, “Yes we agree”, or “Yes they agree”. |
Question mark: ? | Matches 0 or 1 of the preceding element. | colou?r → Matches both “color” and “colour”. |
Asterisk: * | Matches 0 or more of the preceding element. | ab*c → Matches “ac”, “abc”, “abbc”, etc. |
Plus sign: + | Matches 1 or more of the preceding element. | ab+c → Matches “abc”, “abbc”, “abbbc” but not “ac”. |
Period: . | Wildcard match for any single character. | a.b → Matches “acb”, “a_b”, “a1b”. |
Square brackets: [ ] | Matches one character from a set. | [a-z0-9] → Matches lowercase letter + digit (e.g., “b8”). |
Square brackets + asterisk: [ ]* | Matches 0 or more characters from a set. | [A-Za-z0-9]* → Matches “User123” or “abcXYZ”. |
Prefix with text: string.* | Matches strings that begin with given text. | Begin.* → Matches any phrase starting with “Begin”. |
Suffix with text: .*string | Matches strings that end with given text. | .*finish → Matches any phrase ending in “finish”. |
Key Takeaways
- Operators allow human-readable validations like equals, contains, or greater than, including the ability to reference values from earlier steps.
- Regex adds deeper flexibility when plain operators aren’t enough, such as handling spelling variations, wildcards, or sets of options.
- Together, these features empower testers to handle dynamic data in their applications without writing scripts.