Zum Inhalt springen

JavaScript-API

Mit Repeato kannst du Skripte über sogenannte „Skriptschritte“ ausführen.

Hier ist die vollständige JavaScript-API:

Allgemeine VariablenBeschreibung
dataEin Objekt, mit dem du Daten zwischen deinen Schritten teilen kannst.
data.scannedTextEnthält den String, der vom zuletzt ausgeführten Schritt „Check for text“ gescannt wurde.
workspaceDirDas Verzeichnis deines Arbeitsbereichs.
currentStepIndexDer Index des aktuell ausgeführten Schritts.
testDirDas Verzeichnis des aktuellen Tests.
testRunDirDas Verzeichnis des aktuellen Testlaufs.
axiosDer Axios-HTTP-Client. Zum Beispiel: const response = await axios.get('https://example.com').
Allgemeine MethodenBeschreibung
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 BatchRunnerBeschreibung
batchRunner.testBatchAuf den Test-Batch zugreifen.
batchRunner.currentExceptionHandlerIndexAuf den Index des aktuellen Exception-Handlers zugreifen.
batchRunner.currentTestIndexGreife auf den Index des aktuellen Tests zu.
batchRunner.batchRunGreife auf den aktuellen Batch-Lauf zu. Verwende log(batchRunner.batchRun) um alle Eigenschaften zu prüfen.
batchRunner.isPlayingGibt an, ob der Batch-Runner gerade läuft.
batchRunner.runModeRufe 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.testRunnerGreife auf alle testRunner Eigenschaften und Methoden zu. Verwende log(batchRunner.testRunner) um sie zu prüfen.
Eigenschaften und Methoden von TestRunnerBeschreibung
testRunner.currentTestGreife auf alle Eigenschaften des aktuellen Tests zu. Verwende log(testRunner.currentTest) um sie zu prüfen.
testRunner.currentTestRunGreife auf den aktuellen Testlauf zu. Verwende log(testRunner.currentTestRun) um ihn zu prüfen.
testRunner.lastStepResultGreife auf das Ergebnis des zuvor ausgeführten Schritts zu. Verwende log(testRunner.lastStepResult) um ihn zu prüfen.
testRunner.currentStepIndexDer 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 DeviceConnectorBeschreibung
deviceConnector.selectedDeviceDataAlle 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 MethodenBeschreibung
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.
DE