Skip to main content

API Tester

:::info[Verification boundary] This page describes the committed source. It does not certify revision-sensitive RuneLite UI, packet, or in-game outcomes; treat those as live-client verification pending unless the page records direct evidence. ::: [n3] API Tester is a disabled-by-default developer/QoL plugin for running individual Api.actions.* probes from the RuneLite sidebar and observing their InteractionResult output. This plugin does not automate tasks. It has no game-tick loop, and does not register with Break Handler. Tests run only from user-initiated panel clicks or the panel’s safe read queue.

Safety

The harness runs against the real live client. The registry marks tests that can move items, drop items, accept trades, spend resources, hop worlds, teleport, or log out as destructive. They require confirmation when you enable destructive warnings. The plugin stores results in memory and clears them when stopped.

UI

  • Summary counters show passed, failed, total, and the last result status.
  • The filter box matches test id, category, name, and description.
  • Category sections are collapsible and include a Run Safe button for non-destructive tests in that category.
  • Each row shows untested, pass, or fail state, plus an explicit destructive marker when applicable.
  • Clicking a test name expands the last result detail: status, message, target, requested action, and available actions.
  • Run All Safe runs read-only safe tests sequentially.
  • The overlay shows the latest configured number of results when showOverlay is enabled.

Adding Tests

Add definitions in TestRegistry under the matching category. Prefer read-only probes when the action surface has a stable read method. Mark packet-firing or game-state-changing calls as action tests with TestDefinition.action(...), and set destructive to true for irreversible or costly side effects. Use preset parameters that are common and low-risk, such as Coins, Cook’s Assistant, current tile, or UI state checks. Avoid adding background loops.

SDK Live Validation

Use the SDK Live Validation category for safe, user-triggered probes that collect evidence for Implemented / live-pending SDK surfaces. These tests read current snapshots and report raw counts, selected values, or state summaries. Run each probe only after setting up the state named in its row, then copy the observed result into the checklist before changing source or docs. Keep destructive behavior in the existing action categories and keep SDK live-validation probes read-only.