Aller au contenu

API JavaScript

Repeato vous permet d’exécuter des scripts via des « étapes de script ».

Voici l’API JavaScript complète :

Variables généralesDescription
dataUn objet que vous pouvez utiliser pour partager des données entre vos étapes.
data.scannedTextContient la chaîne analysée par la dernière étape « Check for text » exécutée.
workspaceDirLe répertoire de votre espace de travail.
currentStepIndexL’index de l’étape en cours d’exécution.
testDirLe répertoire du test actuel.
testRunDirLe répertoire de l’exécution de test actuelle.
axiosLe client HTTP Axios. Par exemple : const response = await axios.get('https://example.com').
Méthodes généralesDescription
log(message: object)Consigner un message ou un objet.
sleep(x: number)Retarder l’exécution de x millisecondes.
getResponse(host: string, path: string, headers: object)Envoyer une requête GET à un hôte. Renvoie un objet.
sendPost(host: string, path: string, body: object, acceptHeader: string, headers: object)Envoyer une requête POST. Renvoie un objet.
showDialog({ title, content, onConfirm, onClose }: { title: string, content: string, onConfirm?: () => void, onClose?: () => void })Afficher 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 onConfirm et onClose sont appelés pour les actions correspondantes. Renvoie une instance de boîte de dialogue avec cancel et confirm fonctions.
Propriétés et méthodes de BatchRunnerDescription
batchRunner.testBatchAccéder au lot de tests.
batchRunner.currentExceptionHandlerIndexAccéder à l’index du gestionnaire d’exceptions actuel.
batchRunner.currentTestIndexAccéder à l’index du test actuel.
batchRunner.batchRunAccéder à l’exécution actuelle du lot. Utilisez log(batchRunner.batchRun) pour inspecter toutes les propriétés.
batchRunner.isPlayingIndique si l’exécuteur de lots est en cours d’exécution.
batchRunner.runModeObtenir le mode d’exécution actuel.
batchRunner.stop()Arrêter l’exécuteur de lots.
await batchRunner.createBatchRunExport()Créer une exportation de l’exécution actuelle du lot dans le dossier batchRuns de l’espace de travail et renvoyer son chemin.
await batchRunner.uploadReport(dirPath: string)Téléverser le rapport situé à dirPath vers le cloud Repeato et renvoyer l’URL du rapport.
batchRunner.setTestBatchById(batchId: string)Définir le lot de tests pour l’exécuteur de lots.
batchRunner.setRunMode(mode: string)Définir le mode d’exécution sur tous les tests ou uniquement les tests échoués. Par exemple : batchRunner.setRunMode('AllTests') ou batchRunner.setRunMode('OnlyFailed').
batchRunner.addOnBatchStart(key: string, callback: (batch: Batch) => void)Exécuter le rappel juste avant le début du lot.
batchRunner.addOnTestFail(key: string, callback: (test: Test, testRun: TestRun, stepResult: StepResult) => void)Exécuter le rappel lorsqu’un test échoue.
batchRunner.addOnTestSuccess(key: string, callback: (test: Test, testRun: TestRun) => void)Exécuter le rappel lorsqu’un test réussit.
batchRunner.addOnBatchCompleted(key: string, callback: (batchRun: BatchRun) => void)Exécuter le rappel lorsque le lot se termine, qu’il réussisse ou échoue.
batchRunner.removeOnBatchStart(key: string)Supprimer un rappel enregistré avec addOnBatchStart.
batchRunner.removeOnTestFail(key: string)Supprimer un rappel enregistré avec addOnTestFail.
batchRunner.removeOnTestSuccess(key: string)Supprimer un rappel enregistré avec addOnTestSuccess.
batchRunner.removeOnBatchCompleted(key: string)Supprimer un rappel enregistré avec addOnBatchCompleted.
batchRunner.testRunnerAccéder à toutes les testRunner propriétés et méthodes. Utilisez log(batchRunner.testRunner) pour les inspecter.
Propriétés et méthodes de TestRunnerDescription
testRunner.currentTestAccéder à toutes les propriétés du test actuel. Utilisez log(testRunner.currentTest) pour les inspecter.
testRunner.currentTestRunAccéder à l’exécution actuelle du test. Utilisez log(testRunner.currentTestRun) pour l’inspecter.
testRunner.lastStepResultAccéder au résultat de l’étape exécutée précédemment. Utilisez log(testRunner.lastStepResult) pour l’inspecter.
testRunner.currentStepIndexL’index de base zéro de l’étape actuelle.
testRunner.setNextStepId(id: string)Définir l’étape suivante à exécuter par son ID. Par exemple : testRunner.setNextStepId('AH23D6').
testRunner.setNextStepIndex(index: number)Définir l’étape suivante à exécuter par son index de base zéro.
testRunner.goBackBy(stepCount: number)Revenir en arrière de stepCount étapes et poursuivre l’exécution à partir de là.
testRunner.addOnScreenshotSaved(key: string, listener: (stepResult: StepResult, screenshotPath: string) => void)Exécuter l’écouteur dès qu’une capture d’écran est enregistrée.
testRunner.addOnStepCompleted(key: string, callback: (stepResult: StepResult) => void)Exécuter le rappel chaque fois qu’une étape se termine.
testRunner.removeOnScreenshotSaved(key: string)Supprimer un écouteur enregistré avec addOnScreenshotSaved.
testRunner.removeOnStepCompleted(key: string)Supprimer un rappel enregistré avec addOnStepCompleted.
testRunner.setScaleInvariantMatchingEnabled(enabled: boolean)Activer ou désactiver la correspondance invariant l’échelle. Elle est activée par défaut.
Propriétés et méthodes de DeviceConnectorDescription
deviceConnector.selectedDeviceDataToutes les données liées à l’appareil actuellement connecté. Utilisez log(deviceConnector.selectedDeviceData) pour l’inspecter.
deviceConnector.sendString(string)Envoyer une chaîne à l’appareil. L’application testée doit avoir un champ de saisie actif pour recevoir les données.
deviceConnector.clearText()Effacer le champ de saisie actuellement sélectionné.
deviceConnector.sendClick(xPerc, yPerc)Envoyer 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.
deviceConnector.sendDown(xPerc, yPerc)Envoyer un événement d’appui tactile. Chaque sendDown nécessite un sendUp ; combinez-le avec sendMove pour simuler un geste de glissement.
deviceConnector.sendMove(xPerc, yPerc)Envoyer un événement de déplacement. Utilisez sendDown en premier, puis terminez le glissement avec sendUp.
deviceConnector.sendUp(xPerc, yPerc)Envoyer un événement de relâchement tactile.
await deviceConnector.sendAdbCommand(command)Envoyer une commande Android Debug Bridge (ADB).
deviceConnector.addOnDeviceLog(listenerName: string, callback: (log: string) => void)Exécuter le rappel pour chaque ligne de journal envoyée par l’application testée.
await deviceConnector.sendIdbCommand(command)Envoyer une commande iOS Development Bridge (IDB). Par exemple : await deviceConnector.sendIdbCommand('list-targets').
await deviceConnector.takeScreenshot(filepath)Prendre une capture d’écran et l’enregistrer à filepath.
await deviceConnector.setClipboard(content: string)Définir le presse-papiers de l’appareil sur une chaîne.
await deviceConnector.getClipboard()Obtenir le contenu du presse-papiers de l’appareil.
await deviceConnector.vision(prompt: string, region: { x: number, y: number, width: number, height: number } | undefined)Envoyer une invite et une capture de l’écran actuel de l’appareil au module de vision. Vous pouvez limiter la capture à une région. Renvoie un Promise<string>.
Propriétés et méthodes d’AudioToolsDescription
audioTools.say(text: string)Convertir le texte indiqué en audio.
audioTools.playAudio(url: string)Lire l’audio depuis l’URL indiquée.
audioTools.stopAudio()Arrêter la lecture audio en cours.
audioTools.recordAudio(duration: number)Enregistrer de l’audio pendant la durée indiquée en millisecondes et renvoyer l’URL de l’enregistrement temporaire.
FR