API Tester
[n3] API Tester is a disabled-by-default developer/QoL plugin for running individual InteractionApi.actions.* probes from the RuneLite sidebar and observing their InteractionResult output.
It is not an automation plugin. It has no game-tick loop, does not register with Break Handler, and does not request PacketUtils account bootstrap. Tests run only from user-initiated panel clicks or the panel's safe read queue.
Safety
The harness runs against the real live client. Tests that can move items, drop items, accept trades, spend resources, hop worlds, teleport, or log out are marked destructive in the registry and require confirmation when destructive warnings are enabled.
Results are in memory only. They are cleared when the plugin stops.
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 Safebutton 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 Saferuns read-only safe tests sequentially.- The overlay shows the latest configured number of results when
showOverlayis 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 or bootstrap gates.
SDK Live Validation
The SDK Live Validation category is for safe, user-triggered probes that collect evidence for Implemented / live-pending SDK surfaces in the competitor gap audit. These tests read current snapshots and report raw counts, selected values, or state summaries; they do not move the audit entry to validated by themselves.
Run each probe only after setting up the state named in its row, then copy the observed result into the audit checklist before changing source or docs. Keep destructive behavior in the existing action categories and keep SDK live-validation probes read-only.