Saltar a contenido

Errores

Para tener un control total sobre las tareas realizadas, es necesario conocer los errores a través de su traceback, captura de pantalla o incluso en los archivos de resultado. Aquí cubriremos cómo crear y enviar errores a la plataforma.

Crear un error simple

Utilizando este método para crear un error simple en Maestro.

try:
    div = 0 / 0
except Exception as error:
    maestro.error(task_id=task.id, exception=error)
try {
    int div = 0/0;
} catch (Exception error) {
    maestro.createError(task.id, error, null, null, null);
}
try {
    eval("hoo bar");
} catch (error) {
    await maestro.createError(task.id, error)
}
try {
    eval("hoo bar");
} catch (error: any) {
    await maestro.createError(task.id, error)
}

Etiquetas personalizables

Además de tener etiquetas estándar, es posible enviar etiquetas personalizables utilizando el mismo método.

try:
    div = 0 / 0
except Exception as error:
    maestro.error(task_id=task.id, exception=error, tags={"custom": "tag"})
try {
    int div = 0/0;
} catch (Exception error) {
    Map<String, Object> tags = new HashMap<>();
    tags.put("custom", "tag");

    maestro.createError(task.id, error, null, tags, null);
}
try {
    eval("hoo bar");
} catch (error) {
    await maestro.createError(task.id, error, {"custom": "tag"})
}
try {
    eval("hoo bar");
} catch (error: any) {
    await maestro.createError(task.id, error, {"custom": "tag"})
}

Enviar captura de pantalla

Es posible enviar la captura de pantalla pasando la ruta del archivo.

try:
    div = 0 / 0
except Exception as error:
    filepath = '/home/test/screenshot.png'
    maestro.error(task_id=task.id, exception=error, screenshot=filepath)
try {
    int div = 0/0;
} catch (Exception error) {        
    File screenshot = new File("/home/test/screenshot.png");
    maestro.createError(task.id, error, screenshot, null, null);
}
try {
    eval("hoo bar");
} catch (error) {
    const filepath = '/home/test/screenshot.png'
    await maestro.createError(task.id, error, {}, filepath)
}
try {
    eval("hoo bar");
} catch (error: any) {
    const filepath: string = '/home/test/screenshot.png'
    await maestro.createError(task.id, error, {}, filepath)
}

Tip

Puedes guardar fácilmente capturas de pantalla para automatizaciones desktop y web con los Frameworks de BotCity.

Enviar archivos adjuntos

Es posible enviar archivos al error en Maestro, se debe hacer de la siguiente manera:

try:
    div = 0 / 0
except Exception as error:
    attachments = ['/home/test/error.png', '/home/test/test.txt']
    maestro.error(task_id=task.id, exception=error, attachments=attachments)
try {
    int div = 0/0;
} catch (Exception error) {
    List<File> attachments = new ArrayList<>();
    attachments.add(new File("/home/test/error.png"));
    attachments.add(new File("/home/test/test.txt"));

    maestro.createError(task.id, error, null, null, attachments);
}
try {
    eval("hoo bar");
} catch (error) {
    const attachments = ['/home/test/file.txt', '/home/test/file2.txt']
    await maestro.createError(task.id, error, {}, '', attachments)
}
try {
    eval("hoo bar");
} catch (error: any) {
    const attachments: string[] = ['/home/test/file.txt', '/home/test/file2.txt']
    await maestro.createError(task.id, error, {}, '', attachments)
}