Skip to content

Variable Management

The Variable Management module in AngusTester enables centralized management and dynamic invocation of test data, supporting multiple data extraction methods to enhance testing flexibility and data reuse.

I. Variable Creation Operations

1. Add Static Variable

Description: Define fixed values or Mock data functions
Steps:

  1. Data → Variables Click "Add Static Variable"
  2. Configure key parameters:
    • Naming format: UPPERCASE_ENGLISH_DESCRIPTION (e.g., API_TOKEN)
    • Value type:
      • Constant (direct input)
      • Mock function (e.g., ${randomPhone})
    • Enable "Password Type" for sensitive data encryption
  3. Test output in Preview tab

    ⚠️ Mock functions update per iteration

2. Add File Extraction Variable

Description: Extract data dynamically from external files
Steps:

  1. Click Add Static Variable▼ and select "File Extraction Variable"
  2. Configure extraction rules:
    • File path (supports CSV/TXT)
    • Start position (row + column index)
    • Data processing (regex/JSONPath)
  3. Verify data accuracy in Preview

    ❗ Manual refresh required for file changes

3. Add HTTP Extraction Variable

Description: Obtain dynamic values via API
Steps:

  1. Click Add Static Variable▼ and select "HTTP Extraction Variable"
  2. Configure request parameters:
    • URL (complete API endpoint)
    • Method (GET/POST)
    • Extractor (JSONPath/XPath)
  3. Test API response in Preview

    ⚠️ Requires network access and functional API

4. Add JDBC Extraction Variable

Description: Generate variables from database queries
Steps:

  1. Click Add Static Variable▼ and select "JDBC Extraction Variable"
  2. Configure database connection:
    • Data source (pre-configured)
    • SQL query (SELECT fields)
    • Value rule (first row/column or row/column index)

      ❗ Encrypt sensitive fields

II. Variable Maintenance

1. Batch Import Variables

Description: Configure variables via YAML files
Steps:

  1. In Variables, click "Import"
  2. Upload YAML file
  3. System automatically:

2. Clone Variable

Description: Quickly create similar variables
Steps:

  1. In Variable List, click "Clone"
  2. System automatically:
    • Creates a copy (appends "-Copy.xxx" to name)
    • Preserves all configurations
      Requires manual adjustment of key parameters

3. Edit Variable

Description: Modify existing configurations
Steps:

  1. In Variable List, click "Edit"
  2. Editable fields:
    • Name/description
    • Value or extraction rules
    • Password type toggle
      Active variable changes require republishing

4. Batch Delete

Description: Clean up obsolete variables
Steps:

  1. Select target variables
  2. Click "Batch Delete"
  3. Confirm operation
    ❗ Variables referenced by APIs must be unlinked first

III. Variable Integration

1. API Parameterization

Description: Dynamically invoke variables in API requests
Steps:

  1. In API → Service Management, open target API
  2. Click "Reference Variable" in Parameterization tab
  3. Enter {variable_name} as parameter value

    ⚠️ Unlinked variables show red warnings

2. Scenario Parameterization

Description: Batch variable usage in test scenarios
Steps:

  1. Open target scenario in Scenario Management
  2. Add references in Execution Config → Variables
  3. Enter {variable_name} in step parameters
    ❗ Cross-API variables must share consistent naming

IV. Data Export

1. Export Single Variable

Description: Backup or share configurations
Steps:

  1. In Variable Details, click "Export"
  2. Select format:
    • YAML (complete config)
    • JSON (API integration format)

2. Export All Variables

Description: Full backup of variable system
Steps:

  1. In Variable Management, click "Export"
  2. Auto-download ZIP archive containing:
    • All variable YAML files
    • Import documentation

Variable Field Specifications

ParameterField NameTypeRequiredLengthDescription
IDidbigintCond./Unique identifier;
Auto-generated;
Mandatory for modifications
Project IDprojectIdlongYes/Parent project identifier
Variable NamenamestringYes≤100Unique variable name
DescriptiondescriptionstringNo≤800Functional description
Variable ValuevaluestringCond.≤4096Variable value;
Required for non-extraction types
Password TypepasswordValuebooleanYes/Whether value is encrypted
Extraction RulesextractionobjectNo/Data extraction configuration
Extracted StatusextractedbooleanRead-only/Whether data extraction is complete
Data SourcedataSourceenumRead-only/Source Types:
Static/Value Extract/File Extract/HTTP Extract/JDBC Extract
Tenant IDtenantIdlongRead-only/Tenant identifier
Creator IDcreatedBylongRead-only/Creator's user ID
Creator NamecreatedByNamestringRead-only/Creator's name
Creation TimecreatedDatedatetimeRead-only/Creation timestamp
Last Modifier IDlastModifiedBylongRead-only/Last modifier's user ID
Last Modifier NamelastModifiedByNamestringRead-only/Last modifier's name
Last Modified TimelastModifiedDatedatetimeRead-only/Last modification timestamp

Extraction Configuration (extraction)

Refer to testing specifications: Parameterization → Extraction Configuration

Data Source (dataSource)

Enum ValueDescription
STATIC_VALUEStatic Value
EXTRACT_VALUEValue Extraction
EXTRACT_FILEFile Extraction
EXTRACT_HTTPHTTP Extraction
EXTRACT_HTTP_SAMPLINGHTTP Sampling
EXTRACT_JDBCJDBC Extraction

Released under the GPL-3.0 License.