API de JavaScript
Repeato permite ejecutar JavaScript mediante pasos de script. Las siguientes variables globales están disponibles mientras se ejecuta una prueba o un lote.
Para obtener documentación legible por máquinas, usa la referencia Markdown sin formato o las declaraciones de TypeScript. Consulta Recetas de JavaScript para ver ejemplos completos y ejecutables.
Globales
Sección titulada «Globals»Tipo: object
Un objeto que puedes usar para compartir datos entre pasos.
data.scannedText
Sección titulada «data.scannedText»Tipo: string
La cadena escaneada por el último paso de comprobación de texto ejecutado.
workspaceDir
Sección titulada «workspaceDir»Tipo: string
El directorio del espacio de trabajo actual.
currentStepIndex
Sección titulada «currentStepIndex»Tipo: number
El índice, basado en cero, del paso que se está ejecutando.
testDir
Sección titulada «testDir»Tipo: string
El directorio de la prueba actual.
testRunDir
Sección titulada «testRunDir»Tipo: string
El directorio de la ejecución de prueba actual.
Tipo: AxiosInstance
El cliente HTTP Axios.
const response = await axios.get('https://example.com')log(message: object)Registra un mensaje o un objeto.
sleep()
Sección titulada «sleep()»sleep(milliseconds: number): Promise<void>Retrasa la ejecución durante el número de milisegundos indicado.
getResponse()
Sección titulada «getResponse()»getResponse(host: string, path: string, headers?: object): Promise<string>Envía una solicitud GET a un host.
sendPost()
Sección titulada «sendPost()»sendPost( host: string, path: string, body: string | object, acceptHeader?: string, headers?: object,): Promise<string>Envía una solicitud POST.
showDialog()
Sección titulada «showDialog()»showDialog({ title, content, onConfirm, onClose,}: { title: string content: string onConfirm?: () => void onClose?: () => void}): { cancel: Function; confirm: Function }Muestra un diálogo cuyo contenido admite Markdown, incluido texto con formato, enlaces e imágenes. Las devoluciones de llamada opcionales se ejecutan cuando ocurre la acción correspondiente. La instancia de diálogo devuelta se puede cerrar mediante cancel() o confirm().
batchRunner
Sección titulada «batchRunner»Controla el lote de pruebas actual y proporciona hooks del ciclo de vida del lote.
batchRunner.testBatch
Sección titulada «batchRunner.testBatch»Tipo: TestBatch
El lote de pruebas actual.
batchRunner.currentExceptionHandlerIndex
Sección titulada «batchRunner.currentExceptionHandlerIndex»Tipo: number
El índice del gestor de excepciones actual.
batchRunner.currentTestIndex
Sección titulada «batchRunner.currentTestIndex»Tipo: number
El índice de la prueba actual.
batchRunner.batchRun
Sección titulada «batchRunner.batchRun»Tipo: BatchRun
La ejecución del lote actual. Usa log(batchRunner.batchRun) para inspeccionar todas las propiedades.
batchRunner.isPlaying
Sección titulada «batchRunner.isPlaying»Tipo: boolean
Indica si el ejecutor de lotes está ejecutándose actualmente.
batchRunner.runMode
Sección titulada «batchRunner.runMode»Tipo: string
El modo de ejecución actual.
batchRunner.stop()
Sección titulada «batchRunner.stop()»stop(): Promise<void>Detiene el ejecutor de lotes.
batchRunner.createBatchRunExport()
Sección titulada «batchRunner.createBatchRunExport()»createBatchRunExport(): Promise<string>Crea una exportación de la ejecución del lote actual en la carpeta batchRuns del espacio de trabajo y devuelve su ruta.
batchRunner.uploadReport()
Sección titulada «batchRunner.uploadReport()»uploadReport(dirPath: string): Promise<string>Sube el informe ubicado en dirPath a la nube de Repeato y devuelve la URL del informe.
batchRunner.setTestBatchById()
Sección titulada «batchRunner.setTestBatchById()»batchRunner.setTestBatchById(batchId: string)Establece el lote de pruebas para el ejecutor de lotes.
batchRunner.setRunMode()
Sección titulada «batchRunner.setRunMode()»batchRunner.setRunMode(mode: string)Establece el modo de ejecución para todas las pruebas o solo para las pruebas fallidas.
batchRunner.setRunMode('AllTests')batchRunner.setRunMode('OnlyFailed')batchRunner.addOnBatchStart()
Sección titulada «batchRunner.addOnBatchStart()»batchRunner.addOnBatchStart(key: string, callback: (batch: Batch) => void)Registra una devolución de llamada que se ejecuta justo antes de que comience el lote.
batchRunner.addOnTestFail()
Sección titulada «batchRunner.addOnTestFail()»batchRunner.addOnTestFail( key: string, callback: (test: Test, testRun: TestRun, stepResult: StepResult) => void,)Registra una devolución de llamada que se ejecuta cuando falla una prueba.
batchRunner.addOnTestSuccess()
Sección titulada «batchRunner.addOnTestSuccess()»batchRunner.addOnTestSuccess( key: string, callback: (test: Test, testRun: TestRun) => void,)Registra una devolución de llamada que se ejecuta cuando una prueba finaliza correctamente.
batchRunner.addOnBatchCompleted()
Sección titulada «batchRunner.addOnBatchCompleted()»batchRunner.addOnBatchCompleted( key: string, callback: (batchRun: BatchRun) => void,)Registra una devolución de llamada que se ejecuta cuando el lote finaliza, tanto si se completa correctamente como si falla.
batchRunner.removeOnBatchStart()
Sección titulada «batchRunner.removeOnBatchStart()»batchRunner.removeOnBatchStart(key: string)Elimina una devolución de llamada registrada con addOnBatchStart().
batchRunner.removeOnTestFail()
Sección titulada «batchRunner.removeOnTestFail()»batchRunner.removeOnTestFail(key: string)Elimina una devolución de llamada registrada con addOnTestFail().
batchRunner.removeOnTestSuccess()
Sección titulada «batchRunner.removeOnTestSuccess()»batchRunner.removeOnTestSuccess(key: string)Elimina una devolución de llamada registrada con addOnTestSuccess().
batchRunner.removeOnBatchCompleted()
Sección titulada «batchRunner.removeOnBatchCompleted()»batchRunner.removeOnBatchCompleted(key: string)Elimina una devolución de llamada registrada con addOnBatchCompleted().
batchRunner.testRunner
Sección titulada «batchRunner.testRunner»Tipo: TestRunner
Proporciona acceso a todos los testRunner propiedades y métodos. Usa log(batchRunner.testRunner) para inspeccionarlos.
testRunner
Sección titulada «testRunner»Controla la ejecución de la prueba actual y expone hooks del ciclo de vida de los pasos.
testRunner.currentTest
Sección titulada «testRunner.currentTest»Tipo: Test
La prueba actual. Usa log(testRunner.currentTest) para inspeccionar todas las propiedades.
testRunner.currentTestRun
Sección titulada «testRunner.currentTestRun»Tipo: TestRun
La ejecución de prueba actual. Usa log(testRunner.currentTestRun) para inspeccionar todas las propiedades.
testRunner.lastStepResult
Sección titulada «testRunner.lastStepResult»Tipo: StepResult
El resultado del paso ejecutado anteriormente. Usa log(testRunner.lastStepResult) para inspeccionar todas las propiedades.
testRunner.currentStepIndex
Sección titulada «testRunner.currentStepIndex»Tipo: number
El índice de base cero del paso actual.
testRunner.setNextStepId()
Sección titulada «testRunner.setNextStepId()»testRunner.setNextStepId(id: string)Establece el siguiente paso que se ejecutará mediante su ID.
testRunner.setNextStepId('AH23D6')testRunner.setNextStepIndex()
Sección titulada «testRunner.setNextStepIndex()»testRunner.setNextStepIndex(index: number)Establece el siguiente paso que se ejecutará mediante su índice de base cero.
testRunner.goBackBy()
Sección titulada «testRunner.goBackBy()»testRunner.goBackBy(stepCount: number)Retrocede stepCount pasos y continúa la ejecución desde allí.
testRunner.addOnScreenshotSaved()
Sección titulada «testRunner.addOnScreenshotSaved()»testRunner.addOnScreenshotSaved( key: string, listener: (stepResult: StepResult, screenshotPath: string) => void,)Registra un listener que se ejecuta en cuanto se guarda una captura de pantalla.
testRunner.addOnStepCompleted()
Sección titulada «testRunner.addOnStepCompleted()»testRunner.addOnStepCompleted( key: string, callback: (stepResult: StepResult) => void,)Registra un callback que se ejecuta cada vez que se completa un paso.
testRunner.removeOnScreenshotSaved()
Sección titulada «testRunner.removeOnScreenshotSaved()»testRunner.removeOnScreenshotSaved(key: string)Elimina un listener registrado con addOnScreenshotSaved().
testRunner.removeOnStepCompleted()
Sección titulada «testRunner.removeOnStepCompleted()»testRunner.removeOnStepCompleted(key: string)Elimina una devolución de llamada registrada con addOnStepCompleted().
testRunner.setScaleInvariantMatchingEnabled()
Sección titulada «testRunner.setScaleInvariantMatchingEnabled()»testRunner.setScaleInvariantMatchingEnabled(enabled: boolean)Activa o desactiva la coincidencia invariante a la escala. Está activada de forma predeterminada.
deviceConnector
Sección titulada «deviceConnector»Proporciona información sobre el dispositivo conectado actualmente y le envía comandos.
deviceConnector.selectedDeviceData
Sección titulada «deviceConnector.selectedDeviceData»Tipo: DeviceData
Todos los datos relacionados con el dispositivo conectado actualmente. Usa log(deviceConnector.selectedDeviceData) para inspeccionarla.
deviceConnector.sendString()
Sección titulada «deviceConnector.sendString()»sendString(value: string): Promise<void>Envía una cadena al dispositivo. La aplicación bajo prueba debe tener un campo de entrada enfocado para recibir los datos.
deviceConnector.clearText()
Sección titulada «deviceConnector.clearText()»clearText(): Promise<void>Borra el campo de entrada seleccionado actualmente.
deviceConnector.sendClick()
Sección titulada «deviceConnector.sendClick()»sendClick(xPercentage: number, yPercentage: number): Promise<void>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()
Sección titulada «deviceConnector.sendDown()»sendDown(xPercentage: number, yPercentage: number): Promise<void>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()
Sección titulada «deviceConnector.sendMove()»sendMove(xPercentage: number, yPercentage: number): Promise<void>Envía un evento de movimiento. Usa sendDown() primero y finaliza el arrastre con sendUp().
deviceConnector.sendUp()
Sección titulada «deviceConnector.sendUp()»sendUp(xPercentage: number, yPercentage: number): Promise<void>Envía un evento de liberación táctil.
deviceConnector.sendAdbCommand()
Sección titulada «deviceConnector.sendAdbCommand()»sendAdbCommand(command: string): Promise<string>Envía un comando de Android Debug Bridge (ADB).
deviceConnector.addOnDeviceLog()
Sección titulada «deviceConnector.addOnDeviceLog()»deviceConnector.addOnDeviceLog( listenerName: string, callback: (log: string) => void,)Registra un callback que se ejecuta para cada línea de registro enviada por la aplicación bajo prueba.
deviceConnector.sendIdbCommand()
Sección titulada «deviceConnector.sendIdbCommand()»sendIdbCommand(command: string): Promise<string>Envía un comando de iOS Development Bridge (IDB).
await deviceConnector.sendIdbCommand('list-targets')deviceConnector.takeScreenshot()
Sección titulada «deviceConnector.takeScreenshot()»takeScreenshot(filepath: string): Promise<void>Toma una captura de pantalla y la guarda en filepath.
deviceConnector.setClipboard()
Sección titulada «deviceConnector.setClipboard()»setClipboard(content: string): Promise<void>Establece el portapapeles del dispositivo con una cadena.
deviceConnector.getClipboard()
Sección titulada «deviceConnector.getClipboard()»getClipboard(): Promise<string>Obtiene el contenido del portapapeles del dispositivo.
deviceConnector.vision()
Sección titulada «deviceConnector.vision()»vision( prompt: string, region: { x: number; y: number; width: number; height: number } | undefined,): Promise<string>Envía un prompt y una captura de pantalla de la pantalla actual del dispositivo al módulo de visión. Pasa una región para limitar la captura a una parte de la pantalla.
audioTools
Sección titulada «audioTools»Proporciona conversión de texto a voz, reproducción de audio y grabación de audio.
audioTools.say()
Sección titulada «audioTools.say()»audioTools.say(text: string)Convierte el texto indicado en audio.
audioTools.playAudio()
Sección titulada «audioTools.playAudio()»playAudio(url: string): Promise<number>Reproduce audio desde la URL indicada.
audioTools.stopAudio()
Sección titulada «audioTools.stopAudio()»audioTools.stopAudio()Detiene el audio que se está reproduciendo.
audioTools.recordAudio()
Sección titulada «audioTools.recordAudio()»recordAudio(duration: number): Promise<string>Graba audio durante la duración indicada en milisegundos y devuelve la URL de la grabación temporal.