JavaScript-API
Mit Repeato kannst du Skripte über sogenannte „Skriptschritte“ ausführen.
Hier ist die vollständige JavaScript-API:
| Allgemeine Variablen | Beschreibung |
|---|---|
data | Ein Objekt, mit dem du Daten zwischen deinen Schritten teilen kannst. |
data.scannedText | Enthält den String, der vom zuletzt ausgeführten Schritt „Check for text“ gescannt wurde. |
workspaceDir | Das Verzeichnis deines Arbeitsbereichs. |
currentStepIndex | Der Index des aktuell ausgeführten Schritts. |
testDir | Das Verzeichnis des aktuellen Tests. |
testRunDir | Das Verzeichnis des aktuellen Testlaufs. |
axios | Der Axios-HTTP-Client. Zum Beispiel: const response = await axios.get('https://example.com'). |
| Allgemeine Methoden | Beschreibung |
|---|---|
log(message: object) | Eine Nachricht oder ein Objekt protokollieren. |
sleep(x: number) | Die Ausführung verzögern um x Millisekunden. |
getResponse(host: string, path: string, headers: object) | Eine GET-Anfrage an einen Host senden. Gibt ein Objekt zurück. |
sendPost(host: string, path: string, body: object, acceptHeader: string, headers: object) | Eine POST-Anfrage senden. Gibt ein Objekt zurück. |
showDialog({ title, content, onConfirm, onClose }: { title: string, content: string, onConfirm?: () => void, onClose?: () => void }) | Einen Dialog anzeigen, dessen Inhalt Markdown unterstützt, einschließlich formatiertem Text, Links und Bildern. Optionale onConfirm und onClose Callbacks werden für die entsprechenden Aktionen aufgerufen. Gibt eine Dialoginstanz mit cancel und confirm Funktionen zurück. |
| Eigenschaften und Methoden von BatchRunner | Beschreibung |
|---|---|
batchRunner.testBatch | Auf den Test-Batch zugreifen. |
batchRunner.currentExceptionHandlerIndex | Auf den Index des aktuellen Exception-Handlers zugreifen. |
batchRunner.currentTestIndex | Greife auf den Index des aktuellen Tests zu. |
batchRunner.batchRun | Greife auf den aktuellen Batch-Lauf zu. Verwende log(batchRunner.batchRun) um alle Eigenschaften zu prüfen. |
batchRunner.isPlaying | Gibt an, ob der Batch-Runner gerade läuft. |
batchRunner.runMode | Rufe den aktuellen Ausführungsmodus ab. |
batchRunner.stop() | Stoppe den Batch-Runner. |
await batchRunner.createBatchRunExport() | Erstelle einen Export des aktuellen Batch-Laufs im batchRuns -Ordner des Workspace und gib den Pfad zurück. |
await batchRunner.uploadReport(dirPath: string) | Lade den Bericht unter dirPath in die Repeato Cloud hoch und gib die URL des Berichts zurück. |
batchRunner.setTestBatchById(batchId: string) | Lege den Test-Batch für den Batch-Runner fest. |
batchRunner.setRunMode(mode: string) | Lege den Ausführungsmodus für alle Tests oder nur fehlgeschlagene Tests fest. Zum Beispiel: batchRunner.setRunMode('AllTests') oder batchRunner.setRunMode('OnlyFailed'). |
batchRunner.addOnBatchStart(key: string, callback: (batch: Batch) => void) | Führe den Callback direkt vor dem Start des Batchs aus. |
batchRunner.addOnTestFail(key: string, callback: (test: Test, testRun: TestRun, stepResult: StepResult) => void) | Führe den Callback aus, wenn ein Test fehlschlägt. |
batchRunner.addOnTestSuccess(key: string, callback: (test: Test, testRun: TestRun) => void) | Führe den Callback aus, wenn ein Test erfolgreich ist. |
batchRunner.addOnBatchCompleted(key: string, callback: (batchRun: BatchRun) => void) | Führe den Callback aus, wenn der Batch abgeschlossen ist – unabhängig davon, ob er erfolgreich war oder fehlgeschlagen ist. |
batchRunner.removeOnBatchStart(key: string) | Entferne einen mit addOnBatchStart. |
batchRunner.removeOnTestFail(key: string) | Entferne einen mit addOnTestFail. |
batchRunner.removeOnTestSuccess(key: string) | Entferne einen mit addOnTestSuccess. |
batchRunner.removeOnBatchCompleted(key: string) | Entferne einen mit addOnBatchCompleted. |
batchRunner.testRunner | Greife auf alle testRunner Eigenschaften und Methoden zu. Verwende log(batchRunner.testRunner) um sie zu prüfen. |
| Eigenschaften und Methoden von TestRunner | Beschreibung |
|---|---|
testRunner.currentTest | Greife auf alle Eigenschaften des aktuellen Tests zu. Verwende log(testRunner.currentTest) um sie zu prüfen. |
testRunner.currentTestRun | Greife auf den aktuellen Testlauf zu. Verwende log(testRunner.currentTestRun) um ihn zu prüfen. |
testRunner.lastStepResult | Greife auf das Ergebnis des zuvor ausgeführten Schritts zu. Verwende log(testRunner.lastStepResult) um ihn zu prüfen. |
testRunner.currentStepIndex | Der nullbasierte Index des aktuellen Schritts. |
testRunner.setNextStepId(id: string) | Lege den nächsten auszuführenden Schritt per ID fest. Zum Beispiel: testRunner.setNextStepId('AH23D6'). |
testRunner.setNextStepIndex(index: number) | Lege den nächsten auszuführenden Schritt anhand seines nullbasierten Index fest. |
testRunner.goBackBy(stepCount: number) | Gehe um stepCount Schritte zurück und setze die Ausführung dort fort. |
testRunner.addOnScreenshotSaved(key: string, listener: (stepResult: StepResult, screenshotPath: string) => void) | Führe den Listener aus, sobald ein Screenshot gespeichert wurde. |
testRunner.addOnStepCompleted(key: string, callback: (stepResult: StepResult) => void) | Führe den Callback aus, sobald ein Schritt abgeschlossen ist. |
testRunner.removeOnScreenshotSaved(key: string) | Entferne einen mit addOnScreenshotSaved. |
testRunner.removeOnStepCompleted(key: string) | Entferne einen mit addOnStepCompleted. |
testRunner.setScaleInvariantMatchingEnabled(enabled: boolean) | Skalierungsinvariantes Matching aktivieren oder deaktivieren. Standardmäßig ist es aktiviert. |
| Eigenschaften und Methoden von DeviceConnector | Beschreibung |
|---|---|
deviceConnector.selectedDeviceData | Alle Daten zum aktuell verbundenen Gerät. Verwende log(deviceConnector.selectedDeviceData) um ihn zu prüfen. |
deviceConnector.sendString(string) | Sende eine Zeichenfolge an das Gerät. Die zu testende App muss ein fokussiertes Eingabefeld haben, um die Daten zu empfangen. |
deviceConnector.clearText() | Leere das aktuell ausgewählte Eingabefeld. |
deviceConnector.sendClick(xPerc, yPerc) | Sende ein Touch-Ereignis an das Gerät. Die Koordinaten reichen von 0 bis 1; sendClick(0.5, 0.5) tippt auf die Bildschirmmitte. |
deviceConnector.sendDown(xPerc, yPerc) | Sende ein Touch-Down-Ereignis. Jedes sendDown benötigt ein sendUp; kombiniere es mit sendMove um eine Ziehbewegung zu simulieren. |
deviceConnector.sendMove(xPerc, yPerc) | Sende ein Move-Ereignis. Verwende sendDown zuerst und beende die Ziehbewegung mit sendUp. |
deviceConnector.sendUp(xPerc, yPerc) | Sende ein Touch-Up-Ereignis. |
await deviceConnector.sendAdbCommand(command) | Sende einen Android-Debug-Bridge-(ADB)-Befehl. |
deviceConnector.addOnDeviceLog(listenerName: string, callback: (log: string) => void) | Führe den Callback für jede von der zu testenden App gesendete Logzeile aus. |
await deviceConnector.sendIdbCommand(command) | Sende einen iOS-Development-Bridge-(IDB)-Befehl. Zum Beispiel: await deviceConnector.sendIdbCommand('list-targets'). |
await deviceConnector.takeScreenshot(filepath) | Erstelle einen Screenshot und speichere ihn unter filepath. |
await deviceConnector.setClipboard(content: string) | Setze die Zwischenablage des Geräts auf eine Zeichenfolge. |
await deviceConnector.getClipboard() | Rufe den Inhalt der Zwischenablage des Geräts ab. |
await deviceConnector.vision(prompt: string, region: { x: number, y: number, width: number, height: number } | undefined) | Sende eine Eingabeaufforderung und einen Screenshot des aktuellen Gerätebildschirms an das Vision-Modul. Optional kann der Screenshot auf eine Region begrenzt werden. Gibt ein Promise<string>. |
| AudioTools – Eigenschaften und Methoden | Beschreibung |
|---|---|
audioTools.say(text: string) | Wandle den angegebenen Text in Audio um. |
audioTools.playAudio(url: string) | Spiele Audio von der angegebenen URL ab. |
audioTools.stopAudio() | Stoppe das aktuell abgespielte Audio. |
audioTools.recordAudio(duration: number) | Nimm für die angegebene Dauer in Millisekunden Audio auf und gib die URL der temporären Aufnahme zurück. |