Pergunta

Eu estou procurando informações [I hesite em inferir "Melhores Práticas"] para aplicações de Automação. Estou especificamente referindo-se a substituir o que é previsivelmente repetível através de meios manuais tradicionais [seres humanos manipular o GUI] com algo que está programado pelo usuário e executadas "automaticamente".

Nós usamos AutoIT internamente para a realização de testes automatizados e ter considerado a mesma abordagem para a prestação autônoma Processamento das nossas aplicações, mas estamos devido relutante para a possibilidade do usuário "acidentalmente" interagir com o aplicativo em paralelo com a execução de um "automação" programado e, portanto, "quebrando" a automação.

tímido de construção em nosso próprio programador com eventos conhecidos e argumentos fixos para controlar um conjunto predefinido de ações, o que se aproxima devo avaliar / considerar e seria necessário que ferramentas?

Informações adicionais: Alguns se referem a esse recurso como "Batch Processing" dentro do contexto da aplicação.

Foi útil?

Solução

Em geral, é uma prática perigosa para automatizar UIs. Pode ser um truque útil para um problema de curto prazo: Eu me encontro com AutoHotKey para executar algumas tarefas tediosas em algumas situações ... mas somente se a tarefa não é digno de escrever código para implementar a mudança (ou seja, uma só vez, 15 minutos de tarefas).

Caso contrário, você provavelmente vai sofrer de corridas inconsistentes devido à resposta laggy de algumas telas, UIs inconsistentes, etc. A maioria dos aplicativos tem uma API disponíveis, e não usá-lo vai ser muito mais dolorosa do que a aquisição e usá-lo em 99 % dos casos.

Na situação lamentável, mas possível que não há nenhuma interface do usuário e você está reduzida a captura de tela / manipular, uma ferramenta que os testes realiza automatizado é provavelmente tão boa como você terá. Ele permite que você Verificar o estado do aplicativo (até certo ponto) e, portanto, pode construir algumas redes de segurança em. Além disso, gostaria de dedicar uma estação de trabalho para esta tarefa ... com o teclado e mouse bloqueado longe de usuários curiosos. (A área de trabalho remota ou conexão estilo VNC funciona bem para isso:. Você pode iniciar o processo e desconexão, tornando-o resistente à adulteração)

No entanto, eu considero que a abordagem apenas como um último recurso desesperado. Manipulando uma API é muito, muito, muito, muito (eu cheguei "Fars" suficientes lá?) Mais sustentável.

Outras dicas

Se bem entendi, você quer fazer automatizado processamento usando alguma ferramenta que irá executar uma lista predefinida de ações em um determinado sistema de software. Este diferente estar a partir automatizado testing .

Eu exortá-lo a evitar o uso de ferramentas destinadas para testar para executar o processamento. Muitos sistemas de software grandes têm APIs públicas que você pode usar para executar ações sem interação direta do usuário. Esta é uma forma muito mais robusta e fiável para programar processos automatizados. Contacte o fornecedor do software que você está trabalhando, às vezes os do API estão disponíveis mediante solicitação.

Godeke e Dave são absolutamente correto que, se disponível, a API é o melhor caminho. No entanto, praticamente às vezes isso não é possível, e você tem que ir a rota de automação GUI. Além da estação de trabalho dedicada anteriormente mencionado (s) para executar a automação, eu recomendo codificação em algumas trilhas de auditoria, de modo que é mais fácil de depurar ou backtrack se surgirem problemas. Sua automação de processamento em lote deve manter um registro detalhado do que os registros foram processados, quando foram processadas e como eles foram processados. Você deve configurá-lo para que os próprios registros (no aplicativo nativo) irá refletir que ele foi atualizado / processados ??através de automação. Por exemplo, se cada registro tem um campo de notas / comentários atualizável, a automação deve adicionar o texto a este campo como "Processado por usuário automação, 2009-02-25 10:05:11, campo Conta alterado de 'ABC123' para ' DEF456' " Dessa forma, os mods automatizados será facilmente perceptível a um usuário puxar manualmente o registro no GUI.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top