JavaScript-API
Repeato ermöglicht die Ausführung von JavaScript mit Skript-Schritten. Während ein Test oder Batch ausgeführt wird, sind die folgenden globalen Variablen verfügbar.
Für maschinenlesbare Dokumentation nutze die rohe Markdown-Referenz oder die TypeScript-Deklarationen. Siehe JavaScript-Rezepte für vollständige, ausführbare Beispiele.
Globale Variablen
Abschnitt mit dem Titel „Globale Variablen“Typ: object
Ein Objekt, mit dem Daten zwischen Schritten geteilt werden können.
data.scannedText
Abschnitt mit dem Titel „data.scannedText“Typ: string
Die vom zuletzt ausgeführten Auf Text prüfen -Schritt gescannte Zeichenfolge.
workspaceDir
Abschnitt mit dem Titel „workspaceDir“Typ: string
Das Verzeichnis des aktuellen Arbeitsbereichs.
currentStepIndex
Abschnitt mit dem Titel „currentStepIndex“Typ: number
Der nullbasierte Index des aktuell ausgeführten Schritts.
Typ: string
Das Verzeichnis des aktuellen Tests.
testRunDir
Abschnitt mit dem Titel „testRunDir“Typ: string
Das Verzeichnis des aktuellen Testlaufs.
Typ: AxiosInstance
Der Axios-HTTP-Client.
const response = await axios.get('https://example.com')log(message: object)Protokolliert eine Nachricht oder ein Objekt.
sleep(milliseconds: number): Promise<void>Verzögert die Ausführung um die angegebene Anzahl an Millisekunden.
getResponse()
Abschnitt mit dem Titel „getResponse()“getResponse(host: string, path: string, headers?: object): Promise<string>Sendet eine GET-Anfrage an einen Host.
sendPost()
Abschnitt mit dem Titel „sendPost()“sendPost( host: string, path: string, body: string | object, acceptHeader?: string, headers?: object,): Promise<string>Sendet eine POST-Anfrage.
showDialog()
Abschnitt mit dem Titel „showDialog()“showDialog({ title, content, onConfirm, onClose,}: { title: string content: string onConfirm?: () => void onClose?: () => void}): { cancel: Function; confirm: Function }Zeigt einen Dialog an, dessen Inhalt Markdown unterstützt, einschließlich formatiertem Text, Links und Bildern. Die optionalen Callbacks werden ausgeführt, wenn die entsprechende Aktion erfolgt. Die zurückgegebene Dialoginstanz kann mit cancel() oder confirm().
batchRunner
Abschnitt mit dem Titel „batchRunner“Steuert den aktuellen Test-Batch und stellt Hooks für den Batch-Lebenszyklus bereit.
batchRunner.testBatch
Abschnitt mit dem Titel „batchRunner.testBatch“Typ: TestBatch
Der aktuelle Test-Batch.
batchRunner.currentExceptionHandlerIndex
Abschnitt mit dem Titel „batchRunner.currentExceptionHandlerIndex“Typ: number
Der Index des aktuellen Exception-Handlers.
batchRunner.currentTestIndex
Abschnitt mit dem Titel „batchRunner.currentTestIndex“Typ: number
Der Index des aktuellen Tests.
batchRunner.batchRun
Abschnitt mit dem Titel „batchRunner.batchRun“Typ: BatchRun
Der aktuelle Batch-Lauf. Verwende log(batchRunner.batchRun) um alle Eigenschaften zu prüfen.
batchRunner.isPlaying
Abschnitt mit dem Titel „batchRunner.isPlaying“Typ: boolean
Gibt an, ob der Batch-Runner gerade läuft.
batchRunner.runMode
Abschnitt mit dem Titel „batchRunner.runMode“Typ: string
Der aktuelle Ausführungsmodus.
batchRunner.stop()
Abschnitt mit dem Titel „batchRunner.stop()“stop(): Promise<void>Stoppt den Batch-Runner.
batchRunner.createBatchRunExport()
Abschnitt mit dem Titel „batchRunner.createBatchRunExport()“createBatchRunExport(): Promise<string>Erstellt einen Export des aktuellen Batch-Laufs im batchRuns -Ordner des Arbeitsbereichs und gibt dessen Pfad zurück.
batchRunner.uploadReport()
Abschnitt mit dem Titel „batchRunner.uploadReport()“uploadReport(dirPath: string): Promise<string>Lädt den Bericht unter dirPath in die Repeato Cloud hoch und gibt die URL des Berichts zurück.
batchRunner.setTestBatchById()
Abschnitt mit dem Titel „batchRunner.setTestBatchById()“batchRunner.setTestBatchById(batchId: string)Legt den Test-Batch für den Batch-Runner fest.
batchRunner.setRunMode()
Abschnitt mit dem Titel „batchRunner.setRunMode()“batchRunner.setRunMode(mode: string)Legt den Ausführungsmodus auf alle Tests oder nur fehlgeschlagene Tests fest.
batchRunner.setRunMode('AllTests')batchRunner.setRunMode('OnlyFailed')batchRunner.addOnBatchStart()
Abschnitt mit dem Titel „batchRunner.addOnBatchStart()“batchRunner.addOnBatchStart(key: string, callback: (batch: Batch) => void)Registriert einen Callback, der unmittelbar vor dem Start des Batches ausgeführt wird.
batchRunner.addOnTestFail()
Abschnitt mit dem Titel „batchRunner.addOnTestFail()“batchRunner.addOnTestFail( key: string, callback: (test: Test, testRun: TestRun, stepResult: StepResult) => void,)Registriert einen Callback, der ausgeführt wird, wenn ein Test fehlschlägt.
batchRunner.addOnTestSuccess()
Abschnitt mit dem Titel „batchRunner.addOnTestSuccess()“batchRunner.addOnTestSuccess( key: string, callback: (test: Test, testRun: TestRun) => void,)Registriert einen Callback, der ausgeführt wird, wenn ein Test erfolgreich ist.
batchRunner.addOnBatchCompleted()
Abschnitt mit dem Titel „batchRunner.addOnBatchCompleted()“batchRunner.addOnBatchCompleted( key: string, callback: (batchRun: BatchRun) => void,)Registriert einen Callback, der ausgeführt wird, wenn der Batch abgeschlossen ist – unabhängig davon, ob er erfolgreich war oder fehlgeschlagen ist.
batchRunner.removeOnBatchStart()
Abschnitt mit dem Titel „batchRunner.removeOnBatchStart()“batchRunner.removeOnBatchStart(key: string)Entfernt einen registrierten Callback mit addOnBatchStart().
batchRunner.removeOnTestFail()
Abschnitt mit dem Titel „batchRunner.removeOnTestFail()“batchRunner.removeOnTestFail(key: string)Entfernt einen registrierten Callback mit addOnTestFail().
batchRunner.removeOnTestSuccess()
Abschnitt „batchRunner.removeOnTestSuccess()“batchRunner.removeOnTestSuccess(key: string)Entfernt einen registrierten Callback mit addOnTestSuccess().
batchRunner.removeOnBatchCompleted()
Abschnitt „batchRunner.removeOnBatchCompleted()“batchRunner.removeOnBatchCompleted(key: string)Entfernt einen registrierten Callback mit addOnBatchCompleted().
batchRunner.testRunner
Abschnitt „batchRunner.testRunner“Typ: TestRunner
Bietet Zugriff auf alle testRunner Eigenschaften und Methoden zu. Verwende log(batchRunner.testRunner) um sie zu prüfen.
testRunner
Abschnitt „testRunner“Steuert die Ausführung des aktuellen Tests und stellt Hooks für den Lebenszyklus von Schritten bereit.
testRunner.currentTest
Abschnitt „testRunner.currentTest“Typ: Test
Der aktuelle Test. Verwende log(testRunner.currentTest) um alle Eigenschaften zu prüfen.
testRunner.currentTestRun
Abschnitt „testRunner.currentTestRun“Typ: TestRun
Der aktuelle Testlauf. Verwende log(testRunner.currentTestRun) um alle Eigenschaften zu prüfen.
testRunner.lastStepResult
Abschnitt „testRunner.lastStepResult“Typ: StepResult
Das Ergebnis des zuvor ausgeführten Schritts. Verwende log(testRunner.lastStepResult) um alle Eigenschaften zu prüfen.
testRunner.currentStepIndex
Abschnitt „testRunner.currentStepIndex“Typ: number
Der nullbasierte Index des aktuellen Schritts.
testRunner.setNextStepId()
Abschnitt „testRunner.setNextStepId()“testRunner.setNextStepId(id: string)Legt anhand der ID den nächsten auszuführenden Schritt fest.
testRunner.setNextStepId('AH23D6')testRunner.setNextStepIndex()
Abschnitt „testRunner.setNextStepIndex()“testRunner.setNextStepIndex(index: number)Legt den nächsten auszuführenden Schritt anhand seines nullbasierten Index fest.
testRunner.goBackBy()
Abschnitt „testRunner.goBackBy()“testRunner.goBackBy(stepCount: number)Geht um stepCount Schritte zurück und setzt die Ausführung dort fort.
testRunner.addOnScreenshotSaved()
Abschnitt „testRunner.addOnScreenshotSaved()“testRunner.addOnScreenshotSaved( key: string, listener: (stepResult: StepResult, screenshotPath: string) => void,)Registriert einen Listener, der ausgeführt wird, sobald ein Screenshot gespeichert wurde.
testRunner.addOnStepCompleted()
Abschnitt „testRunner.addOnStepCompleted()“testRunner.addOnStepCompleted( key: string, callback: (stepResult: StepResult) => void,)Registriert einen Callback, der bei jedem abgeschlossenen Schritt ausgeführt wird.
testRunner.removeOnScreenshotSaved()
Abschnitt „testRunner.removeOnScreenshotSaved()“testRunner.removeOnScreenshotSaved(key: string)Entfernt einen registrierten Listener mit addOnScreenshotSaved().
testRunner.removeOnStepCompleted()
Abschnitt „testRunner.removeOnStepCompleted()“testRunner.removeOnStepCompleted(key: string)Entfernt einen registrierten Callback mit addOnStepCompleted().
testRunner.setScaleInvariantMatchingEnabled()
Abschnitt „testRunner.setScaleInvariantMatchingEnabled()“testRunner.setScaleInvariantMatchingEnabled(enabled: boolean)Aktiviert oder deaktiviert die skalierungsinvariante Übereinstimmung. Sie ist standardmäßig aktiviert.
deviceConnector
Abschnitt „deviceConnector“Bietet Informationen zum aktuell verbundenen Gerät und sendet Befehle an dieses Gerät.
deviceConnector.selectedDeviceData
Abschnitt „deviceConnector.selectedDeviceData“Typ: DeviceData
Alle Daten zum aktuell verbundenen Gerät. Verwende log(deviceConnector.selectedDeviceData) um ihn zu prüfen.
deviceConnector.sendString()
Abschnitt „deviceConnector.sendString()“sendString(value: string): Promise<void>Sendet eine Zeichenfolge an das Gerät. Die zu testende App muss ein fokussiertes Eingabefeld haben, um die Daten zu empfangen.
deviceConnector.clearText()
Abschnitt „deviceConnector.clearText()“clearText(): Promise<void>Leert das aktuell ausgewählte Eingabefeld.
deviceConnector.sendClick()
Abschnitt „deviceConnector.sendClick()“sendClick(xPercentage: number, yPercentage: number): Promise<void>Sendet 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()
Abschnitt „deviceConnector.sendDown()“sendDown(xPercentage: number, yPercentage: number): Promise<void>Sendet ein Touch-Down-Ereignis. Jede sendDown() benötigt ein sendUp(); kombiniere es mit sendMove() um eine Ziehbewegung zu simulieren.
deviceConnector.sendMove()
Abschnitt „deviceConnector.sendMove()“sendMove(xPercentage: number, yPercentage: number): Promise<void>Sendet ein Bewegungsereignis. Verwende sendDown() zuerst und beende die Ziehbewegung mit sendUp().
deviceConnector.sendUp()
Abschnitt „deviceConnector.sendUp()“sendUp(xPercentage: number, yPercentage: number): Promise<void>Sendet ein Touch-Up-Ereignis.
deviceConnector.sendAdbCommand()
Abschnitt „deviceConnector.sendAdbCommand()“sendAdbCommand(command: string): Promise<string>Sendet einen Android-Debug-Bridge-(ADB-)Befehl.
deviceConnector.addOnDeviceLog()
Abschnitt „deviceConnector.addOnDeviceLog()“deviceConnector.addOnDeviceLog( listenerName: string, callback: (log: string) => void,)Registriert einen Callback, der für jede von der zu testenden App gesendete Logzeile ausgeführt wird.
deviceConnector.sendIdbCommand()
Abschnitt „deviceConnector.sendIdbCommand()“sendIdbCommand(command: string): Promise<string>Sendet einen iOS-Development-Bridge-(IDB-)Befehl.
await deviceConnector.sendIdbCommand('list-targets')deviceConnector.takeScreenshot()
Abschnitt „deviceConnector.takeScreenshot()“takeScreenshot(filepath: string): Promise<void>Erstellt einen Screenshot und speichert ihn unter filepath.
deviceConnector.setClipboard()
Abschnitt „deviceConnector.setClipboard()“setClipboard(content: string): Promise<void>Setzt die Zwischenablage des Geräts auf eine Zeichenfolge.
deviceConnector.getClipboard()
Abschnitt „deviceConnector.getClipboard()“getClipboard(): Promise<string>Ruft den Inhalt der Zwischenablage des Geräts ab.
deviceConnector.vision()
Abschnitt „deviceConnector.vision()“vision( prompt: string, region: { x: number; y: number; width: number; height: number } | undefined,): Promise<string>Sendet eine Eingabeaufforderung und einen Screenshot des aktuellen Gerätebildschirms an das Vision-Modul. Übergib eine Region, um den Screenshot auf einen Teil des Bildschirms zu beschränken.
audioTools
Abschnitt „audioTools“Bietet Text-to-Speech, Audiowiedergabe und Audioaufnahme.
audioTools.say()
Abschnitt „audioTools.say()“audioTools.say(text: string)Wandelt den angegebenen Text in Audio um.
audioTools.playAudio()
Abschnitt „audioTools.playAudio()“playAudio(url: string): Promise<number>Spielt Audio von der angegebenen URL ab.
audioTools.stopAudio()
Abschnitt „audioTools.stopAudio()“audioTools.stopAudio()Stoppt die aktuell laufende Audiowiedergabe.
audioTools.recordAudio()
Abschnitt „audioTools.recordAudio()“recordAudio(duration: number): Promise<string>Nimmt Audio für die angegebene Dauer in Millisekunden auf und gibt die URL der temporären Aufnahme zurück.