Skip to content

1.2.0

Latest

Choose a tag to compare

@jochen-testingbot jochen-testingbot released this 04 Jun 10:34

A major refactor and feature expansion of the TestingBot Node.js client. The public API stays flat and backward-compatible (tb.getTests(), dual callback/Promise on every method), but the internals were rebuilt and many new endpoints, typed errors, and workflow helpers were added.

✨ New API methods

Codeless testing

  • getCodelessTest, triggerCodelessTest, triggerAllCodelessTests, stopCodelessTest, scheduleCodelessTest
  • getCodelessSteps, addCodelessStep
  • getCodelessBrowsers, setCodelessBrowsers
  • createCodelessReport, updateCodelessReport
  • createCodelessAlert, updateCodelessAlert

Tunnels

  • getTunnelById, deleteActiveTunnel

User / account

  • getUserKeys, getUserClientKey
  • getIpRanges

🧰 Workflow helpers (new lib/workflows.js)

Promise-based convenience helpers built on top of the resource methods:

  • getAllTests, batchGetTestDetails, getTestStatistics
  • waitForTestCompletion, runTestAndWait
  • cleanupOldTests, smartCleanup
  • uploadFiles, takeMultipleScreenshots

See examples/workflow-helpers.js.

🛡️ Typed errors

Every non-2xx response and transport failure is now mapped to a typed error carrying .statusCode and .response:

  • TestingBotError (base) → AuthenticationError, RateLimitError, ValidationError, NotFoundError, NetworkError

🏗️ Internal refactor

  • The monolithic lib/api.js was split into one mixin per API domain under lib/resources/*.js (devices, browsers, tests, builds, storage, screenshots, tunnels, team, user, codeless, session), assembled into a single flat client in lib/api.js.
  • Shared request plumbing centralized in lib/core.js (request/requestJson/_send).

📘 TypeScript

  • Substantially expanded hand-written index.d.ts covering the flat client, workflow helpers, and re-exported error classes.

What's Changed

Full Changelog: v1.1.0...v1.2.0