AutoBE
    Preparing search index...

    Identifier expression for referencing variables and utility functions.

    Represents references to previously captured variables from API operations, imported utility functions, or global identifiers. Essential for data flow in test scenarios where values from earlier API operations are used in later operations.

    IMPORTANT: Should NOT reference API functions directly. API operations should use IApiOperateStatement instead.

    🚨 CRITICAL: SIMPLE IDENTIFIERS ONLY! 🚨

    This interface is ONLY for simple identifiers (single variable names). DO NOT use compound expressions like:

    ❌ WRONG - These are NOT simple identifiers:

    • Array.isArray (use IPropertyAccessExpression instead)
    • user.name (use IPropertyAccessExpression instead)
    • items[0] (use IElementAccessExpression instead)
    • console.log (use IPropertyAccessExpression instead)
    • Math.random (use IPropertyAccessExpression instead)
    • x.y?.z (use chained IPropertyAccessExpression instead)

    ✅ CORRECT - Simple identifiers only:

    • seller (variable name from IApiOperateStatement)
    • product (variable name from IApiOperateStatement)
    • Array (global constructor name)
    • console (global object name)
    • Math (global object name)

    For compound access, use the appropriate expression types:

    • Property access: Use IPropertyAccessExpression (e.g., user.name)
    • Array/object indexing: Use IElementAccessExpression (e.g., items[0])
    • Method calls: Use ICallExpression with IPropertyAccessExpression for the function

    Common E2E testing usage:

    • Referencing captured data from previous API operations
    • Referencing business entities from previous steps
    • Accessing non-API SDK utilities (simple names only)

    AI function calling context: Use when referencing any simple named entity in the test scope, excluding direct API function references which should use dedicated statement types. For any property access or method calls, use the appropriate expression types instead.

    interface IIdentifier {
        text: string & Pattern<
            "^[a-zA-Z_$][a-zA-Z0-9_$]*(.[a-zA-Z_$][a-zA-Z0-9_$]*)*$",
        >;
        type: "identifier";
    }
    Index

    Properties

    Properties

    text: string & Pattern<"^[a-zA-Z_$][a-zA-Z0-9_$]*(.[a-zA-Z_$][a-zA-Z0-9_$]*)*$">

    The simple identifier name being referenced.

    Must be a SIMPLE identifier name (single word) that corresponds to a valid identifier in the current scope:

    • Previously captured variable names (from IApiOperateStatement variableName)
    • Global utility names (simple names only, not property paths)
    • Parameter names from function scope

    Should NOT reference API functions directly. Use IApiOperateStatement for API operations instead.

    MUST NOT contain dots, brackets, or any compound access patterns. For compound access, use IPropertyAccessExpression or IElementAccessExpression.

    Examples:

    ✅ CORRECT - Simple identifiers:

    • "seller" (previously captured from API operation)
    • "product" (previously captured from API operation)
    • "Array" (global constructor, to be used with IPropertyAccessExpression for Array.isArray)
    • "console" (global object, to be used with IPropertyAccessExpression for console.log)

    ❌ WRONG - Compound expressions (use other expression types):

    • "Array.isArray" (use IPropertyAccessExpression instead)
    • "user.name" (use IPropertyAccessExpression instead)
    • "items[0]" (use IElementAccessExpression instead)

    AI naming consistency: Must match exactly with variable names from previous IApiOperateStatement.variableName. Keep it simple - just the variable name, nothing more.

    type: "identifier"

    Type discriminator.