Ir al contenido

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.

Tipo: object

Un objeto que puedes usar para compartir datos entre pasos.

Tipo: string

La cadena escaneada por el último paso de comprobación de texto ejecutado.

Tipo: string

El directorio del espacio de trabajo actual.

Tipo: number

El índice, basado en cero, del paso que se está ejecutando.

Tipo: string

El directorio de la prueba actual.

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')
Firma
log(message: object)

Registra un mensaje o un objeto.

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

Retrasa la ejecución durante el número de milisegundos indicado.

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

Envía una solicitud GET a un host.

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

Envía una solicitud POST.

Firma
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().

Controla el lote de pruebas actual y proporciona hooks del ciclo de vida del lote.

Tipo: TestBatch

El lote de pruebas actual.

Tipo: number

El índice del gestor de excepciones actual.

Tipo: number

El índice de la prueba actual.

Tipo: BatchRun

La ejecución del lote actual. Usa log(batchRunner.batchRun) para inspeccionar todas las propiedades.

Tipo: boolean

Indica si el ejecutor de lotes está ejecutándose actualmente.

Tipo: string

El modo de ejecución actual.

stop(): Promise<void>

Detiene el ejecutor de lotes.

Firma
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.

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

Sube el informe ubicado en dirPath a la nube de Repeato y devuelve la URL del informe.

Firma
batchRunner.setTestBatchById(batchId: string)

Establece el lote de pruebas para el ejecutor de lotes.

Firma
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')
Firma
batchRunner.addOnBatchStart(key: string, callback: (batch: Batch) => void)

Registra una devolución de llamada que se ejecuta justo antes de que comience el lote.

Firma
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.

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

Registra una devolución de llamada que se ejecuta cuando una prueba finaliza correctamente.

Firma
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.

Firma
batchRunner.removeOnBatchStart(key: string)

Elimina una devolución de llamada registrada con addOnBatchStart().

Firma
batchRunner.removeOnTestFail(key: string)

Elimina una devolución de llamada registrada con addOnTestFail().

Firma
batchRunner.removeOnTestSuccess(key: string)

Elimina una devolución de llamada registrada con addOnTestSuccess().

Firma
batchRunner.removeOnBatchCompleted(key: string)

Elimina una devolución de llamada registrada con addOnBatchCompleted().

Tipo: TestRunner

Proporciona acceso a todos los testRunner propiedades y métodos. Usa log(batchRunner.testRunner) para inspeccionarlos.

Controla la ejecución de la prueba actual y expone hooks del ciclo de vida de los pasos.

Tipo: Test

La prueba actual. Usa log(testRunner.currentTest) para inspeccionar todas las propiedades.

Tipo: TestRun

La ejecución de prueba actual. Usa log(testRunner.currentTestRun) para inspeccionar todas las propiedades.

Tipo: StepResult

El resultado del paso ejecutado anteriormente. Usa log(testRunner.lastStepResult) para inspeccionar todas las propiedades.

Tipo: number

El índice de base cero del paso actual.

Firma
testRunner.setNextStepId(id: string)

Establece el siguiente paso que se ejecutará mediante su ID.

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

Establece el siguiente paso que se ejecutará mediante su índice de base cero.

Firma
testRunner.goBackBy(stepCount: number)

Retrocede stepCount pasos y continúa la ejecución desde allí.

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

Registra un listener que se ejecuta en cuanto se guarda una captura de pantalla.

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

Registra un callback que se ejecuta cada vez que se completa un paso.

Firma
testRunner.removeOnScreenshotSaved(key: string)

Elimina un listener registrado con addOnScreenshotSaved().

Firma
testRunner.removeOnStepCompleted(key: string)

Elimina una devolución de llamada registrada con addOnStepCompleted().

testRunner.setScaleInvariantMatchingEnabled()

Sección titulada «testRunner.setScaleInvariantMatchingEnabled()»
Firma
testRunner.setScaleInvariantMatchingEnabled(enabled: boolean)

Activa o desactiva la coincidencia invariante a la escala. Está activada de forma predeterminada.

Proporciona información sobre el dispositivo conectado actualmente y le envía comandos.

Tipo: DeviceData

Todos los datos relacionados con el dispositivo conectado actualmente. Usa log(deviceConnector.selectedDeviceData) para inspeccionarla.

Firma
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.

clearText(): Promise<void>

Borra el campo de entrada seleccionado actualmente.

Firma
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.

Firma
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.

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

Envía un evento de movimiento. Usa sendDown() primero y finaliza el arrastre con sendUp().

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

Envía un evento de liberación táctil.

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

Envía un comando de Android Debug Bridge (ADB).

Firma
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.

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

Envía un comando de iOS Development Bridge (IDB).

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

Toma una captura de pantalla y la guarda en filepath.

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

Establece el portapapeles del dispositivo con una cadena.

getClipboard(): Promise<string>

Obtiene el contenido del portapapeles del dispositivo.

Firma
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.

Proporciona conversión de texto a voz, reproducción de audio y grabación de audio.

Firma
audioTools.say(text: string)

Convierte el texto indicado en audio.

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

Reproduce audio desde la URL indicada.

audioTools.stopAudio()

Detiene el audio que se está reproduciendo.

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

Graba audio durante la duración indicada en milisegundos y devuelve la URL de la grabación temporal.

ES