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.
Variables globales
Section intitulée « Globals »Type : object
Un objet que vous pouvez utiliser pour partager des données entre les étapes.
data.scannedText
Section intitulée « data.scannedText »Type : string
Chaîne scannée par la dernière étape Vérifier le texte exécutée.
workspaceDir
Section intitulée « workspaceDir »Type : string
Répertoire de l’espace de travail actuel.
currentStepIndex
Section intitulée « currentStepIndex »Type : number
Index de base zéro de l’étape en cours d’exécution.
Type : string
Le répertoire du test actuel.
testRunDir
Section intitulée « testRunDir »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')log(message: object)Consigne un message ou un objet.
sleep(milliseconds: number): Promise<void>Retarde l’exécution du nombre de millisecondes indiqué.
getResponse()
Section intitulée « getResponse() »getResponse(host: string, path: string, headers?: object): Promise<string>Envoie une requête GET à un hôte.
sendPost()
Section intitulée « sendPost() »sendPost( host: string, path: string, body: string | object, acceptHeader?: string, headers?: object,): Promise<string>Envoie une requête POST.
showDialog()
Section intitulée « showDialog() »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().
batchRunner
Section intitulée « batchRunner »Contrôle le lot de tests actuel et fournit des hooks pour son cycle de vie.
batchRunner.testBatch
Section intitulée « batchRunner.testBatch »Type : TestBatch
Lot de tests actuel.
batchRunner.currentExceptionHandlerIndex
Section intitulée « batchRunner.currentExceptionHandlerIndex »Type : number
Index du gestionnaire d’exceptions actuel.
batchRunner.currentTestIndex
Section intitulée « batchRunner.currentTestIndex »Type : number
Index du test actuel.
batchRunner.batchRun
Section intitulée « batchRunner.batchRun »Type : BatchRun
Exécution du lot actuelle. Utilisez log(batchRunner.batchRun) pour inspecter toutes les propriétés.
batchRunner.isPlaying
Section intitulée « batchRunner.isPlaying »Type : boolean
Indique si l’exécuteur de lots est en cours d’exécution.
batchRunner.runMode
Section intitulée « batchRunner.runMode »Type : string
Mode d’exécution actuel.
batchRunner.stop()
Section intitulée « batchRunner.stop() »stop(): Promise<void>Arrête l’exécuteur de lots.
batchRunner.createBatchRunExport()
Section intitulée « batchRunner.createBatchRunExport() »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.
batchRunner.uploadReport()
Section intitulée « batchRunner.uploadReport() »uploadReport(dirPath: string): Promise<string>Téléverse le rapport situé à dirPath vers le cloud Repeato et renvoie l’URL du rapport.
batchRunner.setTestBatchById()
Section intitulée « batchRunner.setTestBatchById() »batchRunner.setTestBatchById(batchId: string)Définit le lot de tests de l’exécuteur de lots.
batchRunner.setRunMode()
Section intitulée « batchRunner.setRunMode() »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')batchRunner.addOnBatchStart()
Section intitulée « batchRunner.addOnBatchStart() »batchRunner.addOnBatchStart(key: string, callback: (batch: Batch) => void)Enregistre un rappel qui s’exécute juste avant le début du lot.
batchRunner.addOnTestFail()
Section intitulée « batchRunner.addOnTestFail() »batchRunner.addOnTestFail( key: string, callback: (test: Test, testRun: TestRun, stepResult: StepResult) => void,)Enregistre un rappel qui s’exécute lorsqu’un test échoue.
batchRunner.addOnTestSuccess()
Section intitulée « batchRunner.addOnTestSuccess() »batchRunner.addOnTestSuccess( key: string, callback: (test: Test, testRun: TestRun) => void,)Enregistre un rappel qui s’exécute lorsqu’un test réussit.
batchRunner.addOnBatchCompleted()
Section intitulée « batchRunner.addOnBatchCompleted() »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.
batchRunner.removeOnBatchStart()
Section intitulée « batchRunner.removeOnBatchStart() »batchRunner.removeOnBatchStart(key: string)Supprime un rappel enregistré avec addOnBatchStart().
batchRunner.removeOnTestFail()
Section intitulée « batchRunner.removeOnTestFail() »batchRunner.removeOnTestFail(key: string)Supprime un rappel enregistré avec addOnTestFail().
batchRunner.removeOnTestSuccess()
Section intitulée « batchRunner.removeOnTestSuccess() »batchRunner.removeOnTestSuccess(key: string)Supprime un rappel enregistré avec addOnTestSuccess().
batchRunner.removeOnBatchCompleted()
Section intitulée « batchRunner.removeOnBatchCompleted() »batchRunner.removeOnBatchCompleted(key: string)Supprime un rappel enregistré avec addOnBatchCompleted().
batchRunner.testRunner
Section intitulée « batchRunner.testRunner »Type : TestRunner
Donne accès à tous les testRunner propriétés et méthodes. Utilisez log(batchRunner.testRunner) pour les inspecter.
testRunner
Section intitulée « testRunner »Contrôle l’exécution du test actuel et expose les hooks du cycle de vie des étapes.
testRunner.currentTest
Section intitulée « testRunner.currentTest »Type : Test
Le test actuel. Utilisez log(testRunner.currentTest) pour inspecter toutes les propriétés.
testRunner.currentTestRun
Section intitulée « testRunner.currentTestRun »Type : TestRun
L’exécution de test actuelle. Utilisez log(testRunner.currentTestRun) pour inspecter toutes les propriétés.
testRunner.lastStepResult
Section intitulée « testRunner.lastStepResult »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.
testRunner.currentStepIndex
Section intitulée « testRunner.currentStepIndex »Type : number
L’index de base zéro de l’étape actuelle.
testRunner.setNextStepId()
Section intitulée « testRunner.setNextStepId() »testRunner.setNextStepId(id: string)Définit par ID l’étape à exécuter ensuite.
testRunner.setNextStepId('AH23D6')testRunner.setNextStepIndex()
Section intitulée « testRunner.setNextStepIndex() »testRunner.setNextStepIndex(index: number)Définit l’étape à exécuter ensuite à l’aide de son index commençant à zéro.
testRunner.goBackBy()
Section intitulée « testRunner.goBackBy() »testRunner.goBackBy(stepCount: number)Recule de stepCount étapes et reprend l’exécution à partir de là.
testRunner.addOnScreenshotSaved()
Section intitulée « testRunner.addOnScreenshotSaved() »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.
testRunner.addOnStepCompleted()
Section intitulée « testRunner.addOnStepCompleted() »testRunner.addOnStepCompleted( key: string, callback: (stepResult: StepResult) => void,)Enregistre un callback qui s’exécute chaque fois qu’une étape se termine.
testRunner.removeOnScreenshotSaved()
Section intitulée « testRunner.removeOnScreenshotSaved() »testRunner.removeOnScreenshotSaved(key: string)Supprime un écouteur enregistré avec addOnScreenshotSaved().
testRunner.removeOnStepCompleted()
Section intitulée « testRunner.removeOnStepCompleted() »testRunner.removeOnStepCompleted(key: string)Supprime un rappel enregistré avec addOnStepCompleted().
testRunner.setScaleInvariantMatchingEnabled()
Section intitulée « testRunner.setScaleInvariantMatchingEnabled() »testRunner.setScaleInvariantMatchingEnabled(enabled: boolean)Active ou désactive la correspondance indépendante de l’échelle. Elle est activée par défaut.
deviceConnector
Section intitulée « deviceConnector »Fournit des informations sur l’appareil actuellement connecté et lui envoie des commandes.
deviceConnector.selectedDeviceData
Section intitulée « deviceConnector.selectedDeviceData »Type : DeviceData
Toutes les données liées à l’appareil actuellement connecté. Utilisez log(deviceConnector.selectedDeviceData) pour l’inspecter.
deviceConnector.sendString()
Section intitulée « deviceConnector.sendString() »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.
deviceConnector.clearText()
Section intitulée « deviceConnector.clearText() »clearText(): Promise<void>Efface le champ de saisie actuellement sélectionné.
deviceConnector.sendClick()
Section intitulée « deviceConnector.sendClick() »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.
deviceConnector.sendDown()
Section intitulée « deviceConnector.sendDown() »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.
deviceConnector.sendMove()
Section intitulée « deviceConnector.sendMove() »sendMove(xPercentage: number, yPercentage: number): Promise<void>Envoie un événement de déplacement. Utilisez sendDown() en premier, puis terminez le glissement avec sendUp().
deviceConnector.sendUp()
Section intitulée « deviceConnector.sendUp() »sendUp(xPercentage: number, yPercentage: number): Promise<void>Envoie un événement de relâchement tactile.
deviceConnector.sendAdbCommand()
Section intitulée « deviceConnector.sendAdbCommand() »sendAdbCommand(command: string): Promise<string>Envoie une commande Android Debug Bridge (ADB).
deviceConnector.addOnDeviceLog()
Section intitulée « deviceConnector.addOnDeviceLog() »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.
deviceConnector.sendIdbCommand()
Section intitulée « deviceConnector.sendIdbCommand() »sendIdbCommand(command: string): Promise<string>Envoie une commande iOS Development Bridge (IDB).
await deviceConnector.sendIdbCommand('list-targets')deviceConnector.takeScreenshot()
Section intitulée « deviceConnector.takeScreenshot() »takeScreenshot(filepath: string): Promise<void>Prend une capture d’écran et l’enregistre à l’emplacement filepath.
deviceConnector.setClipboard()
Section intitulée « deviceConnector.setClipboard() »setClipboard(content: string): Promise<void>Définit le contenu du presse-papiers de l’appareil sur une chaîne.
deviceConnector.getClipboard()
Section intitulée « deviceConnector.getClipboard() »getClipboard(): Promise<string>Récupère le contenu du presse-papiers de l’appareil.
deviceConnector.vision()
Section intitulée « deviceConnector.vision() »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.
audioTools
Section intitulée « audioTools »Fournit la synthèse vocale, la lecture audio et l’enregistrement audio.
audioTools.say()
Section intitulée « audioTools.say() »audioTools.say(text: string)Convertit le texte fourni en audio.
audioTools.playAudio()
Section intitulée « audioTools.playAudio() »playAudio(url: string): Promise<number>Lit l’audio depuis l’URL fournie.
audioTools.stopAudio()
Section intitulée « audioTools.stopAudio() »audioTools.stopAudio()Arrête la lecture audio en cours.
audioTools.recordAudio()
Section intitulée « audioTools.recordAudio() »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.