Eu tenho um aplicativo que é construído usando GTK +. O aplicativo possui uma interface muito simples. Quando iniciada, a mesma janela sempre é aberta, com alguns controles de entrada.
Queremos escrever um script para preencher o texto em alguns campos, marque uma caixa de seleção e clique em um botão. Bastante simples e seria fácil se uma versão em linha de comando do aplicativo estivesse disponível (mas não está).
Qual é a melhor maneira de abordar a interação com um aplicativo X programaticamente?
xdotool
deve ser considerado apenas em casos reais de emergência! Escrever algo sérioxdotool
é mais uma dor do que um prazer. Antes de tentar,xdotool
pergunte ao desenvolvedor se o aplicativo tem umadbus
interface. Isso tornaria seu plano muito mais simples.xdotool
para várias tarefas sem problemas. Não sei exatamente o que é mais uma dor do que um prazer .xte
, parte do xautomation é outra ferramenta que você pode usar para gerar entradas falsas do X11 usando a extensão XTest.Na página inicial:
fonte
Xte funciona, mas é realmente antigo. O xdotool está pelo menos em desenvolvimento ativo.
Estudei bastante a geração de eventos X Windows, nominalmente para desenvolver um programa de macro de teclado capaz de digitar seqüências de caracteres ou a área de transferência em aplicativos que normalmente não permitem o uso de colar.
Notas sobre a manipulação de eventos na janela X ... http://www.ict.griffith.edu.au/anthony/info/X/event_handling.txt
Macro do teclado (usando xte ou xdotool http://www.ict.griffith.edu.au/anthony/software/#keyboard_macro
fonte