Ir para o conteúdo

Erros

Para ter controle total sobre as tarefas executadas, é necessário conhecer os erros desde seu traceback, screenshot ou até mesmo em arquivos de resultado. Aqui, abordaremos como criar e enviar erros para a plataforma.

Crie um erro simples

Usando esse método para criar um erro simples no Maestro.

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

Tags personalizáveis

Além de ter tags padrão, é possível enviar tags personalizáveis usando o mesmo método.

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

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

Enviando captura de tela

É possível enviar a captura de tela da tela que passa no caminho do arquivo.

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

Dica

Você pode facilmente salvar capturas de tela para automações Desktop e web com os Frameworks BotCity.

Enviando anexos

É possível enviar arquivos para o erro no Maestro, isso deve ser feito da seguinte forma:

try:
    div = 0 / 0
except Exception as erro:
    anexos = ['/home/test/error.png', '/home/test/test.txt']
    maestro.error(task_id=task.id, exception=erro, attachments=anexos)
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 (erro) {
    const anexos = ['/home/test/file.txt', '/home/test/file2.txt']
    await maestro.createError(task.id, erro, {}, '', anexos)
}
try {
    eval("hoo bar");
} catch (erro: any) {
    const anexos: string[] = ['/home/test/file.txt', '/home/test/file2.txt']
    await maestro.createError(task.id, erro, {}, '', anexos)
}