Dokumentation / Automatisierung

CLI-Referenz

Der Befehl tapscope steuert Seiten auf deinen Geräten aus dem Terminal, aus Skripten und von Coding Agents. Jeder Befehl kann mit einer einzigen Zeile JSON antworten.

Installieren

Den Befehl unter Einstellungen › Allgemein oder mit tapscope install-cli installieren, siehe Installation. Mit tapscope version und tapscope doctor prüfen. Der erste Befehl startet den Hintergrunddienst, falls er nicht läuft.

Ausgabe und Exit-Codes

--json an einen beliebigen Befehl hängen. Ausgegeben wird genau eine Zeile JSON:

{"command":"version","data":{"arch":"arm64","build":"1","platform":"macos","version":"0.1.0"},"ok":true}

Fehler haben dieselbe Form mit einem Objekt error statt data:

{"command":"eval","error":{"code":"PAGE_NOT_RESPONDING","hint":"Unlock the device and bring Safari or the app to the foreground.","message":"…","retryable":true},"ok":false}

Exit-Codes: 0 Erfolg, 1 Fehler (siehe error.code), 2 falsche Argumente. Die Texte der CLI sind englisch.

Ein typischer Ablauf

tapscope devices list
tapscope open https://example.com
tapscope snapshot --interactive
tapscope click @e3
tapscope console list --types error,exception
tapscope network list --failed
tapscope reload
tapscope screenshot --out page.png

Befehle

BefehlFunktion
statusDaemon, CDP-Endpunkt und Anzahl der Targets; startet den Daemon bei Bedarf.
doctorPrüft die ganze Einrichtung und nennt für jedes Problem den nächsten Schritt.
stop / versionBeendet den Hintergrunddienst / zeigt die Version.
devices listiPhones und iPads (USB, WLAN), Simulatoren, Android-Geräte, Netzwerk-Targets.
devices create "<Name>" "<Typ>" [Laufzeit]Legt einen Simulator an, standardmäßig mit dem neuesten iOS.
devices boot <udid>Bootet einen Simulator.
targets listListet die Seiten; * markiert die Seite dieser Sitzung.
targets use <id> / targets use autoWählt die Seite der Sitzung / zurück zur automatischen Wahl.
open <url>Öffnet einen neuen Tab auf dem aktiven Gerät; er wird zur Seite der Sitzung.
navigate <url> / reloadLädt eine URL in die Seite der Sitzung / lädt sie neu und wartet darauf.
snapshot [--interactive]Lesbarer Seitenbaum; --interactive listet anklickbare und bearbeitbare Elemente als @eN.
click @eNKlickt ein Element aus dem letzten interaktiven Snapshot.
type @eN "<Text>"Ersetzt den Text eines Feldes.
scroll [--to @eN] [--up]Scrollt eine Bildschirmhöhe nach unten oder oben oder zu einem Element.
screenshot [--out <Pfad>]PNG des Viewports; Standardordner ~/.tapscope/screenshots/.
console list [--types …] [--after <id>]Gepufferte Konsolenmeldungen und Exceptions; Typen error,exception,warning,log,info,debug.
network list [--failed] [--after <id>]Abgeschlossene Anfragen; --failed heißt Status ab 400 oder nicht abgeschlossen.
eval "<js>"Führt JavaScript in der Seite aus; Promises werden abgewartet.
devtoolsZeigt die Chrome DevTools der Sitzungsseite in der App.
cdpCDP-Endpunkte: HTTP, Browser-WebSocket, WebSocket und DevTools-URL der Seite.
accountTarif und heute noch freie Sitzungen.
login <Schlüssel> / logoutAktiviert einen Lizenzschlüssel auf diesem Mac / gibt ihn frei.
upgrade pass / upgrade proÖffnet den Kauf eines Pass oder Pro.
agent-contextDie vollständige Referenz für Coding Agents, passend zur installierten Version.
skills list / skills get <Name>Anleitungen: mobile-debugging, vscode-debugging, puppeteer.
install-cli [--dir <Ordner>]Verlinkt tapscope nach /usr/local/bin oder ~/.local/bin.

Sitzungen

--session <Name> (Standard default) behält eine eigene Seitenwahl und eigene Element-Referenzen, damit mehrere Agenten oder Skripte nebeneinander arbeiten können. Welche Seite eine Sitzung nutzt:

  1. die mit targets use <id> gewählte Seite,
  2. sonst die Seite, die sie mit open geöffnet hat,
  3. sonst die zuletzt von irgendeiner Sitzung geöffnete Seite,
  4. sonst die erste Seite des aktiven Geräts.

targets use <id> in der Sitzung default legt außerdem fest, welches Gerät der CDP-Endpunkt auf Port 9222 zeigt; targets use auto hebt das auf.

Element-Referenzen

snapshot --interactive listet Knöpfe, Links und Felder als @e1, @e2 … Sie gelten bis zum nächsten interaktiven Snapshot der Sitzung oder bis zu einer Navigation. Eine ältere Referenz liefert STALE_REF: einen neuen Snapshot machen.

Nur neue Ereignisse lesen

Konsolenmeldungen und Anfragen haben je Seite aufsteigende IDs. Jede Liste endet mit lastEventId; mit --after liest du nur, was seitdem passiert ist:

tapscope console list --types error,exception --after 42

Fehlercodes

CodeBedeutung
INVALID_ARGUMENTSFalsche oder fehlende Argumente (Exit-Code 2).
DAEMON_NOT_RUNNING, DAEMON_START_FAILEDDer Hintergrunddienst war nicht erreichbar oder startete nicht.
NO_TARGETKeine Seite zum Arbeiten: eine öffnen oder devices list prüfen.
NO_DEVICEKein Simulator gebootet und kein Gerät verbunden.
TARGET_NOT_FOUND, TARGET_GONEDie Seiten-ID gibt es nicht (mehr); targets list ausführen.
STALE_REFDie Referenz @eN stammt aus einem älteren Snapshot, oder das Element ist weg.
ACTION_FAILEDDas Element unterstützt die Aktion nicht, etwa Tippen in einen Knopf.
PAGE_NOT_RESPONDINGGerät gesperrt oder Safari/App im Hintergrund.
OPEN_FAILEDDer neue Tab ist nicht erschienen; auf einem echten Gerät muss Safari offen sein.
SIMCTL_FAILEDsimctl hat die Anfrage abgelehnt, etwa einen unbekannten Gerätetyp.
CDP_ERRORDie Seite hat einen Protokollbefehl abgelehnt; die Meldung nennt Details.
SUBSCRIPTION_REQUIREDFree-Tarif: Die Sitzungen für heute sind aufgebraucht; der Hinweis nennt den nächsten freien Zeitpunkt.
LICENSE_INVALIDDer Schlüssel ist unbekannt, abgelaufen, gesperrt oder auf zu vielen Macs aktiv.
LICENSE_SERVER_UNAVAILABLEDer Lizenzserver ist nicht erreichbar.

Fehler mit retryable können bei einem späteren Versuch klappen, etwa nach dem Entsperren des Geräts.

Freie Befehle

Listen und Diagnose verbrauchen nie eine Debug-Sitzung: targets list, devices …, status, doctor, account, login, upgrade, agent-context und skills. Befehle, die auf eine Seite wirken, zählen zu den täglichen Sitzungen des Free-Tarifs, siehe Tarife und Abrechnung.

Mit Tapscope chatten

Der Chat wird erst mit „Chat starten“ geladen. Dabei werden IP-Adresse, Browserdaten und deine Nachrichten an tawk.to übermittelt. Der Dienst kann Cookies setzen und Daten in den USA verarbeiten.

Datenschutzhinweise von tawk.to ↗