API de JavaScript
Repeato permite ejecutar scripts mediante los llamados «pasos de script».
Aquí tienes la API completa de JavaScript:
| Variables generales | Descripción |
|---|---|
data | Un objeto que puedes usar para compartir datos entre tus pasos. |
data.scannedText | Contiene la cadena escaneada por el último paso «Check for text» ejecutado. |
workspaceDir | El directorio de tu espacio de trabajo. |
currentStepIndex | El índice del paso que se está ejecutando actualmente. |
testDir | El directorio de la prueba actual. |
testRunDir | El directorio de la ejecución de prueba actual. |
axios | El cliente HTTP de Axios. Por ejemplo: const response = await axios.get('https://example.com'). |
| Métodos generales | Descripción |
|---|---|
log(message: object) | Registra un mensaje o un objeto. |
sleep(x: number) | Retrasa la ejecución durante x milisegundos. |
getResponse(host: string, path: string, headers: object) | Envía una solicitud GET a un host. Devuelve un objeto. |
sendPost(host: string, path: string, body: object, acceptHeader: string, headers: object) | Envía una solicitud POST. Devuelve un objeto. |
showDialog({ title, content, onConfirm, onClose }: { title: string, content: string, onConfirm?: () => void, onClose?: () => void }) | Muestra un diálogo cuyo contenido admite Markdown, incluidos texto con formato, enlaces e imágenes. Opcionalmente, onConfirm y onClose se llaman callbacks para las acciones correspondientes. Devuelve una instancia de diálogo con cancel y confirm funciones. |
| Propiedades y métodos de BatchRunner | Descripción |
|---|---|
batchRunner.testBatch | Accede al lote de pruebas. |
batchRunner.currentExceptionHandlerIndex | Accede al índice del gestor de excepciones actual. |
batchRunner.currentTestIndex | Accede al índice de la prueba actual. |
batchRunner.batchRun | Accede a la ejecución del lote actual. Usa log(batchRunner.batchRun) para inspeccionar todas las propiedades. |
batchRunner.isPlaying | Indica si el ejecutor de lotes está ejecutándose actualmente. |
batchRunner.runMode | Obtén el modo de ejecución actual. |
batchRunner.stop() | Detén el ejecutor de lotes. |
await batchRunner.createBatchRunExport() | Crea una exportación de la ejecución del lote actual en la carpeta batchRuns del espacio de trabajo y devuelve su ruta. |
await batchRunner.uploadReport(dirPath: string) | Sube el informe ubicado en dirPath a la nube de Repeato y devuelve la URL del informe. |
batchRunner.setTestBatchById(batchId: string) | Establece el lote de pruebas para el ejecutor de lotes. |
batchRunner.setRunMode(mode: string) | Establece el modo de ejecución en todas las pruebas o solo en las pruebas fallidas. Por ejemplo: batchRunner.setRunMode('AllTests') o batchRunner.setRunMode('OnlyFailed'). |
batchRunner.addOnBatchStart(key: string, callback: (batch: Batch) => void) | Ejecuta la devolución de llamada justo antes de que comience el lote. |
batchRunner.addOnTestFail(key: string, callback: (test: Test, testRun: TestRun, stepResult: StepResult) => void) | Ejecuta la devolución de llamada cuando falla una prueba. |
batchRunner.addOnTestSuccess(key: string, callback: (test: Test, testRun: TestRun) => void) | Ejecuta la devolución de llamada cuando una prueba se completa correctamente. |
batchRunner.addOnBatchCompleted(key: string, callback: (batchRun: BatchRun) => void) | Ejecuta la devolución de llamada cuando el lote finaliza, tanto si se completa correctamente como si falla. |
batchRunner.removeOnBatchStart(key: string) | Elimina una devolución de llamada registrada con addOnBatchStart. |
batchRunner.removeOnTestFail(key: string) | Elimina una devolución de llamada registrada con addOnTestFail. |
batchRunner.removeOnTestSuccess(key: string) | Elimina una devolución de llamada registrada con addOnTestSuccess. |
batchRunner.removeOnBatchCompleted(key: string) | Elimina una devolución de llamada registrada con addOnBatchCompleted. |
batchRunner.testRunner | Accede a todas las testRunner propiedades y métodos. Usa log(batchRunner.testRunner) para inspeccionarlos. |
| Propiedades y métodos de TestRunner | Descripción |
|---|---|
testRunner.currentTest | Accede a todas las propiedades de la prueba actual. Usa log(testRunner.currentTest) para inspeccionarlos. |
testRunner.currentTestRun | Accede a la ejecución de la prueba actual. Usa log(testRunner.currentTestRun) para inspeccionarla. |
testRunner.lastStepResult | Accede al resultado del paso ejecutado anteriormente. Usa log(testRunner.lastStepResult) para inspeccionarla. |
testRunner.currentStepIndex | El índice de base cero del paso actual. |
testRunner.setNextStepId(id: string) | Establece el siguiente paso que se ejecutará mediante su ID. Por ejemplo: testRunner.setNextStepId('AH23D6'). |
testRunner.setNextStepIndex(index: number) | Establece el siguiente paso que se ejecutará mediante su índice de base cero. |
testRunner.goBackBy(stepCount: number) | Retrocede stepCount pasos y continúa la ejecución desde allí. |
testRunner.addOnScreenshotSaved(key: string, listener: (stepResult: StepResult, screenshotPath: string) => void) | Ejecuta el listener en cuanto se haya guardado una captura de pantalla. |
testRunner.addOnStepCompleted(key: string, callback: (stepResult: StepResult) => void) | Ejecuta la devolución de llamada cada vez que se completa un paso. |
testRunner.removeOnScreenshotSaved(key: string) | Elimina un listener registrado con addOnScreenshotSaved. |
testRunner.removeOnStepCompleted(key: string) | Elimina una devolución de llamada registrada con addOnStepCompleted. |
testRunner.setScaleInvariantMatchingEnabled(enabled: boolean) | Activa o desactiva la coincidencia invariante a la escala. Está activada de forma predeterminada. |
| Propiedades y métodos de DeviceConnector | Descripción |
|---|---|
deviceConnector.selectedDeviceData | Todos los datos relacionados con el dispositivo conectado actualmente. Usa log(deviceConnector.selectedDeviceData) para inspeccionarla. |
deviceConnector.sendString(string) | Envía una cadena al dispositivo. La aplicación bajo prueba debe tener un campo de entrada enfocado para recibir los datos. |
deviceConnector.clearText() | Borra el campo de entrada seleccionado actualmente. |
deviceConnector.sendClick(xPerc, yPerc) | Envía un evento táctil al dispositivo. Las coordenadas van de 0 a 1; sendClick(0.5, 0.5) toca el centro de la pantalla. |
deviceConnector.sendDown(xPerc, yPerc) | Envía un evento de pulsación táctil. Cada sendDown necesita un sendUp; combínalo con sendMove para simular un gesto de arrastre. |
deviceConnector.sendMove(xPerc, yPerc) | Envía un evento de movimiento. Usa sendDown primero y finaliza el arrastre con sendUp. |
deviceConnector.sendUp(xPerc, yPerc) | Envía un evento de liberación táctil. |
await deviceConnector.sendAdbCommand(command) | Envía un comando de Android Debug Bridge (ADB). |
deviceConnector.addOnDeviceLog(listenerName: string, callback: (log: string) => void) | Ejecuta la devolución de llamada por cada línea de registro enviada por la aplicación bajo prueba. |
await deviceConnector.sendIdbCommand(command) | Envía un comando de iOS Development Bridge (IDB). Por ejemplo: await deviceConnector.sendIdbCommand('list-targets'). |
await deviceConnector.takeScreenshot(filepath) | Toma una captura de pantalla y guárdala en filepath. |
await deviceConnector.setClipboard(content: string) | Establece el portapapeles del dispositivo con una cadena. |
await deviceConnector.getClipboard() | Obtén el contenido del portapapeles del dispositivo. |
await deviceConnector.vision(prompt: string, region: { x: number, y: number, width: number, height: number } | undefined) | Envía una instrucción y una captura de pantalla de la pantalla actual del dispositivo al módulo de visión. Opcionalmente, limita la captura a una región. Devuelve un Promise<string>. |
| Propiedades y métodos de AudioTools | Descripción |
|---|---|
audioTools.say(text: string) | Convierte el texto indicado en audio. |
audioTools.playAudio(url: string) | Reproduce audio desde la URL indicada. |
audioTools.stopAudio() | Detén el audio que se está reproduciendo. |
audioTools.recordAudio(duration: number) | Graba audio durante la duración indicada en milisegundos y devuelve la URL de la grabación temporal. |