Skip to content

Programmatic SDK & API Reference

The @fromeroc9/testform@beta package exposes a programmatic TypeScript / JavaScript API designed for developers, QA platform engineers, and plugin authors.

It allows registering custom quality policies, test resource templates, distributed storage backends, external platform providers, and evaluating configuration expressions directly from code.


SDK Installation

To interact with the Testform API in your automation scripts or custom plugin packages:

Ventana de terminal
npm install @fromeroc9/testform@beta --save-dev

Or using Yarn / pnpm:

Ventana de terminal
pnpm add -D @fromeroc9/testform@beta

Primary Exports

import {
// Quality Policies & Rules
registerPolicy,
policy,
// Resource Templates (Gherkin -> QA Management)
registerResource,
resource,
// Expression Engine & Variables
evaluateExpression,
interpolateExpressions,
VariableParser,
// Configuration & State Management
Config,
State,
} from '@fromeroc9/testform@beta';

API Architecture Modules

The Testform API is organized into the following functional areas:

Extends the static analyzer to enforce naming conventions, mandatory tags, required Gherkin steps, or enterprise ticket linkages before computing execution plans.

Registers custom mapping templates translating Gherkin scenarios into external test entities (Jira, Zephyr, Azure DevOps, TestRail, or proprietary QA backends).

Implements custom distributed state storage backends (backend.custom) to persist testform.state and manage distributed concurrency locks on any infrastructure (Vault, Redis, Firestore, etc.).

Implements lifecycle connectors synchronizing testcases, runs, and plans against external project management APIs.

Evaluates HCL-style ${...} expressions, built-in function calls, and conditional logic programmatically in Node.js.

Inspects, loads, locks, and updates testform.state files with lineage tracking and serial increments.

Comprehensive catalog of expression functions for strings, collections, and system utilities (uuid(), trim(), jsonencode(), etc.).