Zum Inhalt springen

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.

Typ: object

Ein Objekt, mit dem Daten zwischen Schritten geteilt werden können.

Typ: string

Die vom zuletzt ausgeführten Auf Text prüfen -Schritt gescannte Zeichenfolge.

Typ: string

Das Verzeichnis des aktuellen Arbeitsbereichs.

Typ: number

Der nullbasierte Index des aktuell ausgeführten Schritts.

Typ: string

Das Verzeichnis des aktuellen Tests.

Typ: string

Das Verzeichnis des aktuellen Testlaufs.

Typ: AxiosInstance

Der Axios-HTTP-Client.

const response = await axios.get('https://example.com')
Signatur
log(message: object)

Protokolliert eine Nachricht oder ein Objekt.

Signatur
sleep(milliseconds: number): Promise<void>

Verzögert die Ausführung um die angegebene Anzahl an Millisekunden.

Signatur
getResponse(host: string, path: string, headers?: object): Promise<string>

Sendet eine GET-Anfrage an einen Host.

Signatur
sendPost(
host: string,
path: string,
body: string | object,
acceptHeader?: string,
headers?: object,
): Promise<string>

Sendet eine POST-Anfrage.

Signatur
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().

Steuert den aktuellen Test-Batch und stellt Hooks für den Batch-Lebenszyklus bereit.

Typ: TestBatch

Der aktuelle Test-Batch.

Typ: number

Der Index des aktuellen Exception-Handlers.

Typ: number

Der Index des aktuellen Tests.

Typ: BatchRun

Der aktuelle Batch-Lauf. Verwende log(batchRunner.batchRun) um alle Eigenschaften zu prüfen.

Typ: boolean

Gibt an, ob der Batch-Runner gerade läuft.

Typ: string

Der aktuelle Ausführungsmodus.

stop(): Promise<void>

Stoppt den Batch-Runner.

Signatur
createBatchRunExport(): Promise<string>

Erstellt einen Export des aktuellen Batch-Laufs im batchRuns -Ordner des Arbeitsbereichs und gibt dessen Pfad zurück.

Signatur
uploadReport(dirPath: string): Promise<string>

Lädt den Bericht unter dirPath in die Repeato Cloud hoch und gibt die URL des Berichts zurück.

Signatur
batchRunner.setTestBatchById(batchId: string)

Legt den Test-Batch für den Batch-Runner fest.

Signatur
batchRunner.setRunMode(mode: string)

Legt den Ausführungsmodus auf alle Tests oder nur fehlgeschlagene Tests fest.

batchRunner.setRunMode('AllTests')
batchRunner.setRunMode('OnlyFailed')
Signatur
batchRunner.addOnBatchStart(key: string, callback: (batch: Batch) => void)

Registriert einen Callback, der unmittelbar vor dem Start des Batches ausgeführt wird.

Signatur
batchRunner.addOnTestFail(
key: string,
callback: (test: Test, testRun: TestRun, stepResult: StepResult) => void,
)

Registriert einen Callback, der ausgeführt wird, wenn ein Test fehlschlägt.

Signatur
batchRunner.addOnTestSuccess(
key: string,
callback: (test: Test, testRun: TestRun) => void,
)

Registriert einen Callback, der ausgeführt wird, wenn ein Test erfolgreich ist.

Signatur
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.

Signatur
batchRunner.removeOnBatchStart(key: string)

Entfernt einen registrierten Callback mit addOnBatchStart().

Signatur
batchRunner.removeOnTestFail(key: string)

Entfernt einen registrierten Callback mit addOnTestFail().

batchRunner.removeOnTestSuccess()

Abschnitt „batchRunner.removeOnTestSuccess()“
Signatur
batchRunner.removeOnTestSuccess(key: string)

Entfernt einen registrierten Callback mit addOnTestSuccess().

batchRunner.removeOnBatchCompleted()

Abschnitt „batchRunner.removeOnBatchCompleted()“
Signatur
batchRunner.removeOnBatchCompleted(key: string)

Entfernt einen registrierten Callback mit addOnBatchCompleted().

Typ: TestRunner

Bietet Zugriff auf alle testRunner Eigenschaften und Methoden zu. Verwende log(batchRunner.testRunner) um sie zu prüfen.

Steuert die Ausführung des aktuellen Tests und stellt Hooks für den Lebenszyklus von Schritten bereit.

Typ: Test

Der aktuelle Test. Verwende log(testRunner.currentTest) um alle Eigenschaften zu prüfen.

Typ: TestRun

Der aktuelle Testlauf. Verwende log(testRunner.currentTestRun) um alle Eigenschaften zu prüfen.

Typ: StepResult

Das Ergebnis des zuvor ausgeführten Schritts. Verwende log(testRunner.lastStepResult) um alle Eigenschaften zu prüfen.

Typ: number

Der nullbasierte Index des aktuellen Schritts.

Signatur
testRunner.setNextStepId(id: string)

Legt anhand der ID den nächsten auszuführenden Schritt fest.

testRunner.setNextStepId('AH23D6')
Signatur
testRunner.setNextStepIndex(index: number)

Legt den nächsten auszuführenden Schritt anhand seines nullbasierten Index fest.

Signatur
testRunner.goBackBy(stepCount: number)

Geht um stepCount Schritte zurück und setzt die Ausführung dort fort.

testRunner.addOnScreenshotSaved()

Abschnitt „testRunner.addOnScreenshotSaved()“
Signatur
testRunner.addOnScreenshotSaved(
key: string,
listener: (stepResult: StepResult, screenshotPath: string) => void,
)

Registriert einen Listener, der ausgeführt wird, sobald ein Screenshot gespeichert wurde.

Signatur
testRunner.addOnStepCompleted(
key: string,
callback: (stepResult: StepResult) => void,
)

Registriert einen Callback, der bei jedem abgeschlossenen Schritt ausgeführt wird.

testRunner.removeOnScreenshotSaved()

Abschnitt „testRunner.removeOnScreenshotSaved()“
Signatur
testRunner.removeOnScreenshotSaved(key: string)

Entfernt einen registrierten Listener mit addOnScreenshotSaved().

testRunner.removeOnStepCompleted()

Abschnitt „testRunner.removeOnStepCompleted()“
Signatur
testRunner.removeOnStepCompleted(key: string)

Entfernt einen registrierten Callback mit addOnStepCompleted().

testRunner.setScaleInvariantMatchingEnabled()

Abschnitt „testRunner.setScaleInvariantMatchingEnabled()“
Signatur
testRunner.setScaleInvariantMatchingEnabled(enabled: boolean)

Aktiviert oder deaktiviert die skalierungsinvariante Übereinstimmung. Sie ist standardmäßig aktiviert.

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.

Signatur
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.

clearText(): Promise<void>

Leert das aktuell ausgewählte Eingabefeld.

Signatur
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.

Signatur
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.

Signatur
sendMove(xPercentage: number, yPercentage: number): Promise<void>

Sendet ein Bewegungsereignis. Verwende sendDown() zuerst und beende die Ziehbewegung mit sendUp().

Signatur
sendUp(xPercentage: number, yPercentage: number): Promise<void>

Sendet ein Touch-Up-Ereignis.

deviceConnector.sendAdbCommand()

Abschnitt „deviceConnector.sendAdbCommand()“
Signatur
sendAdbCommand(command: string): Promise<string>

Sendet einen Android-Debug-Bridge-(ADB-)Befehl.

deviceConnector.addOnDeviceLog()

Abschnitt „deviceConnector.addOnDeviceLog()“
Signatur
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()“
Signatur
sendIdbCommand(command: string): Promise<string>

Sendet einen iOS-Development-Bridge-(IDB-)Befehl.

await deviceConnector.sendIdbCommand('list-targets')

deviceConnector.takeScreenshot()

Abschnitt „deviceConnector.takeScreenshot()“
Signatur
takeScreenshot(filepath: string): Promise<void>

Erstellt einen Screenshot und speichert ihn unter filepath.

Signatur
setClipboard(content: string): Promise<void>

Setzt die Zwischenablage des Geräts auf eine Zeichenfolge.

getClipboard(): Promise<string>

Ruft den Inhalt der Zwischenablage des Geräts ab.

Signatur
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.

Bietet Text-to-Speech, Audiowiedergabe und Audioaufnahme.

Signatur
audioTools.say(text: string)

Wandelt den angegebenen Text in Audio um.

Signatur
playAudio(url: string): Promise<number>

Spielt Audio von der angegebenen URL ab.

audioTools.stopAudio()

Stoppt die aktuell laufende Audiowiedergabe.

Signatur
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.

DE