Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

script gráfico, Notas de estudo de Informática

LM 66 | Gerenciamento remoto por Dmitri Popo Utilize imagens para montar scripts intuitivos automaticamente com o ambiente de scripts único do Sikuli. por Dmitri Popo

Tipologia: Notas de estudo

2011

Compartilhado em 10/03/2011

william-felipe-dutra-abreu-da-silva
william-felipe-dutra-abreu-da-silva 🇧🇷

21 documentos

1 / 4

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
74
Sikuli
http://www.linuxmagazine.com.br
Sikuli
PROGRAMAÇÃO
Automatização de scripts com o Sikuli
Script gráfico
Utilize imagens para montar scripts intuitivos automaticamente
com o ambiente de scripts único do Sikuli.
por Dmitri Popov
U
tilizando as capacidades de
scripting do shell do Linux,
é possível automatizar qual-
quer tarefa no sistema. Mesmo para
quem não é um guru da programação,
é possível escrever scripts que lidam
com inúmeras tarefas corriqueiras
desde montar compartilhamentos
remotos até fazer um backup.
Apesar de todo esse poder, produzir
scripts shell possui uma séria limita-
ção: os scripts são bons apenas para
controlar e automatizar ferramentas
de linha de comando e aplicativos
gráficos que suportam argumentos
pela linha de comando. Portanto,
para automatizar ambientes desktop
gráficos, como o Gnome e o KDE,
pf3
pf4

Pré-visualização parcial do texto

Baixe script gráfico e outras Notas de estudo em PDF para Informática, somente na Docsity!

74 http://www.linuxmagazine.com.br

PROGRAMAÇÃO

Automatização de scripts com o Sikuli

Script gráfico

Utilize imagens para montar scripts intuitivos automaticamente com o ambiente de scripts único do Sikuli. por Dmitri Popov

U

tilizando as capacidades de scripting do shell do Linux, é possível automatizar qual- quer tarefa no sistema. Mesmo para quem não é um guru da programação, é possível escrever scripts que lidam com inúmeras tarefas corriqueiras – desde montar compartilhamentos remotos até fazer um backup. Apesar de todo esse poder, produzir scripts shell possui uma séria limita- ção: os scripts são bons apenas para controlar e automatizar ferramentas de linha de comando e aplicativos gráficos que suportam argumentos pela linha de comando. Portanto, para automatizar ambientes desktop gráficos, como o Gnome e o KDE,

Sikuli 75 Sikuli | PROGRAMACÃO Linux Magazine #66 | Maio de 2010 ou aplicativos baseados em interfa- ces gráficas, os scripts tradicionais não servem. Eis que chega o Sikuli [1] , um ambiente de scripting único que permite automatizar aplicativos grá- ficos com considerável facilidade. O Sikuli não depende de nenhu- ma API e utiliza como base sim- ples telas com elementos gráficos. Basicamente, em vez de descrever onde clicar ou qual item do menu escolher, basta inserir no Sikuli uma tela da área específica diretamente no script. O Sikuli analisa os padrões da imagem, encontra o elemento apro- priado na interface gráfica e efetua a ação especificada. Nem é necessário dizer que isso simplifica o processo de produção de scripts. Na verda- de, a abordagem do Sikuli é tão intuitiva que é possível começar a produzir scripts em questão de mi- nutos, mesmo sem experiência em programação. Primeiros passos O Sikuli é escrito em Java. Então, a primeira coisa a ser feita é confi- gurar o Java Runtime Environment no sistema. Além disso, será neces- sário instalar alguns outros pacotes. No Ubuntu, isso pode ser feito com o seguinte comando no terminal: sudo apt-get install libcxxtools libcxxtools-dev libhighgui libhighgui-dev libcv Quando tudo estiver pronto, bas- ta pegar a última versão do Sikuli e abrir o arquivo baixado no diretório de sua escolha (por exemplo, o dire- tório home). Em uma janela de ter- minal, vá para o diretório Sikuli-IDE/ , e inicie o IDE Sikuli com o script sikuli-ide.sh. Outra maneira é ini- ciar o Sikuli com um duplo clique no arquivo sikuli-ide.jar , contanto que o arquivo .jar esteja associado ao Java Runtime. A interface do Sikuli ( figura 1 ) é fácil de entender. A barra de ferra- mentas principal oferece vários bo- tões que dão acesso rápido a todas as funções essenciais do programa. Os três botões mais importantes são Capture, Load e Run. O botão Cap- ture permite capturar uma tela do elemento desejado ou da área grá- fica desejada; Load permite inserir uma tela já existente ao script atual. Como se pode supor, o botão Run executa o script aberto. Graças ao suporte a abas, é possível usar o IDE Sikuli para abrir e gerenciar vários scripts ao mesmo tempo. Ao trabalhar com o Sikuli, é bom ter algumas coisas em mente. Pri- meiro, o Sikuli não se dá bem com múltiplos monitores. Então, para ter certeza de que o script funcionará como esperado, desconecte todos os monitores externos da máquina (exceto o principal, é claro). No início, a maioria dos meus scripts se recusou a funcionar cor- retamente. O motivo é que eu havia habilitado a opção do botão esquer- do do mouse, e todas as ações eram interpretadas como cliques com o botão direito. Então, para os usuá- rios canhotos, a correção é simples. Use a ação de clique com o botão direito em vez de clique, e vice-versa. A versão do Sikuli para Linux ainda não suporta atalhos de te- clado. Portanto, é necessário usar o botão Capture para capturar as telas. Como alternativa, é possível usar um utilitário externo como o Shutter para capturar as telas e depois importá-las para seu script usando o botão Load. O uso de uma ferra- menta dedicada à captura de telas oferece maior controle e acelera todo o processo. No entanto, lembre-se de que todas as telas precisam estar no formato PNG. Para começar, criei um script simples que clica no ícone do mi- ni-aplicativo Deskbar no painel e digita “Hello world!” no campo de busca. Obviamente, para esse script funcionar, é preciso antes ins- talar os pacotes do mini-aplicativo Deskbar e adicioná-lo ao painel. Um script do Sikuli consiste em uma série de ações tais como click, wait, type e assim por diante. Cada ação pode usar uma tela que espe- Figura 1 O IDE Sikuli possui apenas o essencial, com vários botões na barra de ferramentas. Figura 2 Script Hello world!.

Sikuli 77 Sikuli | PROGRAMACÃO Linux Magazine #66 | Maio de 2010 lhado coma linguagem Python, o código do script será familiar. Isso não é uma coincidência, pois o Sikuli usa Jython como base. Não há necessidade de habilidades de programação para trabalhar com o Sikuli, mas certo conhecimento de Python pode ajudar no uso mais avançado do programa. Normalmente, o Sikuli faz um bom trabalho de reconhecimento de padrões de imagens nas telas, mas seu IDE oferece um recurso útil que permite ajustar e testar a precisão do reconhecimento dos elementos da tela. Para isso, clique na tela desejada no script, para que o Sikuli abra uma janela de visua- lização, onde as áreas que corres- pondem ao padrão da imagem na tela estão marcadas com retângulos vermelhos. Isso pode ajudar na so- lução de problemas do script, caso as áreas corretas não estejam sendo atingidas na interface especificada. Além disso, é possível usar o Slider Similarity para precisar o reconhe- cimento. Quando o script estiver pronto, ele deverá ser exportado como um pacote executável .skl selecionando o comando Export executable no menu File. Então, ele poderá ser executado sem ser aber- to no IDE Sikuli usando o seguinte comando no terminal: caminho/do/sikuli/sikuli-ide.sh script.skl Substitua /caminho/do/sikuli pelo verdadeiro caminho até o diretório do IDE Sikuli, e script.skl com o nome do script que será executado. Trocando em miúdos O Sikuli é um projeto fascinante e com enorme potencial. O projeto ainda está engatinhando e por isso há espaço para melhorias. Neste aspecto, a documentação dos re- cursos do Sikuli ainda é deficiente. No momento, o melhor método para conhecer o Sikuli é usá-lo e descobrir suas possibilidades es- crevendo scripts. Para começar, é possível usar a seção “Sikuli Script Commands for Jython” [2] na documentação e no blog do projeto [3]. n

Gostou do artigo?

Queremos ouvir sua opinião. Fale conosco em cartas@linuxmagazine.com.br Este artigo no nosso site: http://lnm.com.br/article/

Mais informações

[1] Sikuli: http://groups.csail.mit.edu/uid/sikuli/ [2] Comandos do Sikuli para Jython: http://sikuli.org/documentation. shtml#doc/pythondoc-python.edu.mit.csail.uid.Sikuli.html [3] Blog oficial do Sikuli: http://blog.sikuli.org/

Sobre o autor

Dmitri Popov é formado em letras (idioma russo) e lingüística computacional; há vários anos trabalha como tradutor técnico e colaborador free-lancer. Já publicou mais de 500 artigos sobre software de produtividade, computação móvel, aplicativos web e outros tópicos relacionados à informática. Seus artigos já apareceram em sites e revistas da Dinamarca, Inglaterra, EUA, Ale- manha, Rússia e, agora, do Brasil. Figura 6 Selecionando todas as caixas. Figura 5 ...use a ação type com modificadores de teclado para emular atalhos de teclado.