Aller au contenu

API JavaScript

Repeato vous permet d’exécuter du JavaScript à l’aide des étapes de script. Les variables globales suivantes sont disponibles pendant l’exécution d’un test ou d’un lot.

Pour une documentation lisible par machine, utilisez la référence Markdown brute ou les déclarations TypeScript. Voir Recettes JavaScript pour des exemples complets et exécutables.

Type : object

Un objet que vous pouvez utiliser pour partager des données entre les étapes.

Type : string

Chaîne scannée par la dernière étape Vérifier le texte exécutée.

Type : string

Répertoire de l’espace de travail actuel.

Type : number

Index de base zéro de l’étape en cours d’exécution.

Type : string

Le répertoire du test actuel.

Type : string

Le répertoire de l’exécution de test actuelle.

Type : AxiosInstance

Client HTTP Axios.

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

Consigne un message ou un objet.

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

Retarde l’exécution du nombre de millisecondes indiqué.

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

Envoie une requête GET à un hôte.

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

Envoie une requête POST.

Signature
showDialog({
title,
content,
onConfirm,
onClose,
}: {
title: string
content: string
onConfirm?: () => void
onClose?: () => void
}): { cancel: Function; confirm: Function }

Affiche une boîte de dialogue dont le contenu prend en charge Markdown, notamment le texte mis en forme, les liens et les images. Les rappels facultatifs s’exécutent lorsque l’action correspondante a lieu. L’instance de boîte de dialogue renvoyée peut être fermée à l’aide de cancel() ou confirm().

Contrôle le lot de tests actuel et fournit des hooks pour son cycle de vie.

Type : TestBatch

Lot de tests actuel.

Type : number

Index du gestionnaire d’exceptions actuel.

Type : number

Index du test actuel.

Type : BatchRun

Exécution du lot actuelle. Utilisez log(batchRunner.batchRun) pour inspecter toutes les propriétés.

Type : boolean

Indique si l’exécuteur de lots est en cours d’exécution.

Type : string

Mode d’exécution actuel.

stop(): Promise<void>

Arrête l’exécuteur de lots.

Signature
createBatchRunExport(): Promise<string>

Crée une exportation de l’exécution du lot actuel dans le batchRuns dossier de l’espace de travail et renvoie son chemin.

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

Téléverse le rapport situé à dirPath vers le cloud Repeato et renvoie l’URL du rapport.

Signature
batchRunner.setTestBatchById(batchId: string)

Définit le lot de tests de l’exécuteur de lots.

Signature
batchRunner.setRunMode(mode: string)

Définit le mode d’exécution sur tous les tests ou uniquement les tests échoués.

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

Enregistre un rappel qui s’exécute juste avant le début du lot.

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

Enregistre un rappel qui s’exécute lorsqu’un test échoue.

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

Enregistre un rappel qui s’exécute lorsqu’un test réussit.

Signature
batchRunner.addOnBatchCompleted(
key: string,
callback: (batchRun: BatchRun) => void,
)

Enregistre un rappel qui s’exécute lorsque le lot se termine, qu’il réussisse ou échoue.

Signature
batchRunner.removeOnBatchStart(key: string)

Supprime un rappel enregistré avec addOnBatchStart().

Signature
batchRunner.removeOnTestFail(key: string)

Supprime un rappel enregistré avec addOnTestFail().

Signature
batchRunner.removeOnTestSuccess(key: string)

Supprime un rappel enregistré avec addOnTestSuccess().

Signature
batchRunner.removeOnBatchCompleted(key: string)

Supprime un rappel enregistré avec addOnBatchCompleted().

Type : TestRunner

Donne accès à tous les testRunner propriétés et méthodes. Utilisez log(batchRunner.testRunner) pour les inspecter.

Contrôle l’exécution du test actuel et expose les hooks du cycle de vie des étapes.

Type : Test

Le test actuel. Utilisez log(testRunner.currentTest) pour inspecter toutes les propriétés.

Type : TestRun

L’exécution de test actuelle. Utilisez log(testRunner.currentTestRun) pour inspecter toutes les propriétés.

Type : StepResult

Le résultat de l’étape précédemment exécutée. Utilisez log(testRunner.lastStepResult) pour inspecter toutes les propriétés.

Type : number

L’index de base zéro de l’étape actuelle.

Signature
testRunner.setNextStepId(id: string)

Définit par ID l’étape à exécuter ensuite.

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

Définit l’étape à exécuter ensuite à l’aide de son index commençant à zéro.

Signature
testRunner.goBackBy(stepCount: number)

Recule de stepCount étapes et reprend l’exécution à partir de là.

Signature
testRunner.addOnScreenshotSaved(
key: string,
listener: (stepResult: StepResult, screenshotPath: string) => void,
)

Enregistre un écouteur qui s’exécute dès qu’une capture d’écran a été enregistrée.

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

Enregistre un callback qui s’exécute chaque fois qu’une étape se termine.

Signature
testRunner.removeOnScreenshotSaved(key: string)

Supprime un écouteur enregistré avec addOnScreenshotSaved().

Signature
testRunner.removeOnStepCompleted(key: string)

Supprime un rappel enregistré avec addOnStepCompleted().

Signature
testRunner.setScaleInvariantMatchingEnabled(enabled: boolean)

Active ou désactive la correspondance indépendante de l’échelle. Elle est activée par défaut.

Fournit des informations sur l’appareil actuellement connecté et lui envoie des commandes.

Type : DeviceData

Toutes les données liées à l’appareil actuellement connecté. Utilisez log(deviceConnector.selectedDeviceData) pour l’inspecter.

Signature
sendString(value: string): Promise<void>

Envoie une chaîne à l’appareil. L’application testée doit disposer d’un champ de saisie actif pour recevoir les données.

clearText(): Promise<void>

Efface le champ de saisie actuellement sélectionné.

Signature
sendClick(xPercentage: number, yPercentage: number): Promise<void>

Envoie un événement tactile à l’appareil. Les coordonnées vont de 0 vers 1; sendClick(0.5, 0.5) tape au centre de l’écran.

Signature
sendDown(xPercentage: number, yPercentage: number): Promise<void>

Envoie un événement d’appui tactile. Chaque sendDown() nécessite un sendUp() ; combinez-le avec sendMove() pour simuler un geste de glissement.

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

Envoie un événement de déplacement. Utilisez sendDown() en premier, puis terminez le glissement avec sendUp().

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

Envoie un événement de relâchement tactile.

Signature
sendAdbCommand(command: string): Promise<string>

Envoie une commande Android Debug Bridge (ADB).

Signature
deviceConnector.addOnDeviceLog(
listenerName: string,
callback: (log: string) => void,
)

Enregistre un callback qui s’exécute pour chaque ligne de journal envoyée par l’application testée.

Signature
sendIdbCommand(command: string): Promise<string>

Envoie une commande iOS Development Bridge (IDB).

await deviceConnector.sendIdbCommand('list-targets')
Signature
takeScreenshot(filepath: string): Promise<void>

Prend une capture d’écran et l’enregistre à l’emplacement filepath.

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

Définit le contenu du presse-papiers de l’appareil sur une chaîne.

getClipboard(): Promise<string>

Récupère le contenu du presse-papiers de l’appareil.

Signature
vision(
prompt: string,
region: { x: number; y: number; width: number; height: number } | undefined,
): Promise<string>

Envoie une invite et une capture d’écran de l’écran actuel de l’appareil au module de vision. Transmettez une région pour limiter la capture à une partie de l’écran.

Fournit la synthèse vocale, la lecture audio et l’enregistrement audio.

Signature
audioTools.say(text: string)

Convertit le texte fourni en audio.

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

Lit l’audio depuis l’URL fournie.

audioTools.stopAudio()

Arrête la lecture audio en cours.

Signature
recordAudio(duration: number): Promise<string>

Enregistre de l’audio pendant la durée indiquée en millisecondes et renvoie l’URL de l’enregistrement temporaire.

FR